X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fntdb%2Ftest%2Flogging.c;fp=ccan%2Fntdb%2Ftest%2Flogging.c;h=2819dd7cad0b04f14888ff0f6bbe9a05259cf01e;hp=0000000000000000000000000000000000000000;hb=d69ef83fcc2434ddaced1831184fb761ae6f09d3;hpb=ed95d8600afe1564ffd1783ae9ea0ef6324904dc diff --git a/ccan/ntdb/test/logging.c b/ccan/ntdb/test/logging.c new file mode 100644 index 00000000..2819dd7c --- /dev/null +++ b/ccan/ntdb/test/logging.c @@ -0,0 +1,30 @@ +#include +#include +#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++; +}