]> git.ozlabs.org Git - ccan/blobdiff - ccan/tdb2/test/logging.c
tdb2: Make TDB1 code use TDB2's open flags.
[ccan] / ccan / tdb2 / test / logging.c
index 8284be13439b6dd9f48556a94d934caf3c6671a6..0712cc00a621db816c5e4377958bf10db841486b 100644 (file)
@@ -5,22 +5,27 @@
 
 unsigned tap_log_messages;
 const char *log_prefix = "";
+char *log_last = NULL;
 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 *message)
+               enum tdb_log_level level,
+               enum TDB_ERROR ecode,
+               const char *message, void *priv)
 {
        if (suppress_logging)
                return;
 
-       diag("tdb log level %u: %s%s", level, log_prefix, message);
-       if (level != TDB_DEBUG_TRACE)
-               tap_log_messages++;
+       diag("tdb log level %u: %s: %s%s",
+            level, tdb_errorstr(ecode), log_prefix, message);
+       if (log_last)
+               free(log_last);
+       log_last = strdup(message);
+       tap_log_messages++;
 }