]> git.ozlabs.org Git - ccan/blobdiff - junkcode/rusty@rustcorp.com.au-ntdb/test/logging.c
ccan/ntdb: demote to junkcode.
[ccan] / junkcode / rusty@rustcorp.com.au-ntdb / test / logging.c
diff --git a/junkcode/rusty@rustcorp.com.au-ntdb/test/logging.c b/junkcode/rusty@rustcorp.com.au-ntdb/test/logging.c
new file mode 100644 (file)
index 0000000..2819dd7
--- /dev/null
@@ -0,0 +1,30 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "tap-interface.h"
+#include "logging.h"
+
+unsigned tap_log_messages;
+const char *log_prefix = "";
+char *log_last = NULL;
+bool suppress_logging;
+
+union ntdb_attribute tap_log_attr = {
+       .log = { .base = { .attr = NTDB_ATTRIBUTE_LOG },
+                .fn = tap_log_fn }
+};
+
+void tap_log_fn(struct ntdb_context *ntdb,
+               enum ntdb_log_level level,
+               enum NTDB_ERROR ecode,
+               const char *message, void *priv)
+{
+       if (suppress_logging)
+               return;
+
+       diag("ntdb log level %u: %s: %s%s",
+            level, ntdb_errorstr(ecode), log_prefix, message);
+       if (log_last)
+               free(log_last);
+       log_last = strdup(message);
+       tap_log_messages++;
+}