]> git.ozlabs.org Git - ccan/blobdiff - ccan/tdb2/test/logging.c
tdb2: shorten attribute members.
[ccan] / ccan / tdb2 / test / logging.c
index 7fd3b1f2345e209b347c7a6e5fc380d38d61ec81..a3ddb329bcdfa9a28f1ffce84bb528fea0c03f3a 100644 (file)
@@ -1,31 +1,25 @@
-#define _GNU_SOURCE
 #include <stdio.h>
 #include <stdlib.h>
-#include <stdarg.h>
 #include <ccan/tap/tap.h>
 #include "logging.h"
 
 unsigned tap_log_messages;
+const char *log_prefix = "";
+bool suppress_logging;
 
 union tdb_attribute tap_log_attr = {
        .log = { .base = { .attr = TDB_ATTRIBUTE_LOG },
-                .log_fn = tap_log_fn }
+                .fn = tap_log_fn }
 };
 
 void tap_log_fn(struct tdb_context *tdb,
-               enum tdb_debug_level level, void *priv,
-               const char *fmt, ...)
+               enum tdb_log_level level, void *priv,
+               const char *message)
 {
-       va_list ap;
-       char *p;
+       if (suppress_logging)
+               return;
 
-       va_start(ap, fmt);
-       if (vasprintf(&p, fmt, ap) == -1)
-               abort();
-       diag("tdb log level %u: %s", level, p);
-       free(p);
-       if (level != TDB_DEBUG_TRACE)
-               tap_log_messages++;
-       va_end(ap);
+       diag("tdb log level %u: %s%s", level, log_prefix, message);
+       tap_log_messages++;
 }