X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ftdb2%2Ftest%2Flogging.c;h=8284be13439b6dd9f48556a94d934caf3c6671a6;hp=8b057bc662786f5b68761765480ded80da32cb2d;hb=51a56b52627e635566253a3fae081c3f466b6bb6;hpb=06e0037d97f5e1d83667ec40627cef862f3b7b85 diff --git a/ccan/tdb2/test/logging.c b/ccan/tdb2/test/logging.c index 8b057bc6..8284be13 100644 --- a/ccan/tdb2/test/logging.c +++ b/ccan/tdb2/test/logging.c @@ -1,25 +1,26 @@ -#define _GNU_SOURCE #include #include -#include #include #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 } +}; void tap_log_fn(struct tdb_context *tdb, enum tdb_debug_level level, void *priv, - const char *fmt, ...) + 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); - tap_log_messages++; - va_end(ap); + diag("tdb log level %u: %s%s", level, log_prefix, message); + if (level != TDB_DEBUG_TRACE) + tap_log_messages++; }