]> git.ozlabs.org Git - ccan/blob - ccan/tdb2/test/tdb1-logging.c
cb058296d467e36869d5438d7a3660f59a0aaeb1
[ccan] / ccan / tdb2 / test / tdb1-logging.c
1 #include "tdb1-logging.h"
2 #include <ccan/tap/tap.h>
3 #include <stdarg.h>
4 #include <stdlib.h>
5 #include <string.h>
6 #include <stdio.h>
7
8 /* Turn log messages into tap diag messages. */
9 static void taplog(struct tdb_context *tdb,
10                    enum tdb_log_level level,
11                    enum TDB_ERROR ecode,
12                    const char *message,
13                    void *data)
14 {
15         if (suppress_logging)
16                 return;
17
18         /* Strip trailing \n: diag adds it. */
19         if (message[0] && message[strlen(message)-1] == '\n')
20                 diag("%s%.*s", log_prefix, (unsigned)strlen(message)-1, message);
21         else
22                 diag("%s%s", log_prefix, message);
23 }
24
25 struct tdb1_logging_context taplogctx = { taplog, NULL };