Line data Source code
1 : #include "logging.h" 2 : #include "tap-interface.h" 3 : #include <stdarg.h> 4 : #include <stdlib.h> 5 : #include <string.h> 6 : #include <stdio.h> 7 : 8 : bool suppress_logging = false; 9 : const char *log_prefix = ""; 10 : 11 : /* Turn log messages into tap diag messages. */ 12 3885 : static void taplog(struct tdb_context *tdb, 13 : enum tdb_debug_level level, 14 : const char *fmt, ...) 15 : { 16 : va_list ap; 17 : char line[200]; 18 : 19 3885 : if (suppress_logging) 20 270 : return; 21 : 22 3615 : va_start(ap, fmt); 23 3615 : vsprintf(line, fmt, ap); 24 3615 : va_end(ap); 25 : 26 : /* Strip trailing \n: diag adds it. */ 27 3615 : if (line[0] && line[strlen(line)-1] == '\n') 28 3615 : diag("%s%.*s", log_prefix, (unsigned)strlen(line)-1, line); 29 : else 30 0 : diag("%s%s", log_prefix, line); 31 : } 32 : 33 : struct tdb_logging_context taplogctx = { taplog, NULL };