]> git.ozlabs.org Git - ccan/blob - ccan/tdb2/test/logging.c
4857a4bfad7896e50272e52ab3ff0ab84e0d12a7
[ccan] / ccan / tdb2 / test / logging.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <ccan/tap/tap.h>
4 #include "logging.h"
5
6 unsigned tap_log_messages;
7 const char *log_prefix = "";
8 char *log_last = NULL;
9 bool suppress_logging;
10
11 union tdb_attribute tap_log_attr = {
12         .log = { .base = { .attr = TDB_ATTRIBUTE_LOG },
13                  .fn = tap_log_fn }
14 };
15
16 void tap_log_fn(struct tdb_context *tdb,
17                 enum tdb_log_level level,
18                 const char *message, void *priv)
19 {
20         if (suppress_logging)
21                 return;
22
23         diag("tdb log level %u: %s%s", level, log_prefix, message);
24         if (log_last)
25                 free(log_last);
26         log_last = strdup(message);
27         tap_log_messages++;
28 }
29