From: Ian Jackson Date: Sat, 23 Nov 2019 17:57:46 +0000 (+0000) Subject: logfile: New `prefix' option. X-Git-Tag: v0.6.0~243 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=08411f03eac617b78b47c16a370170c25c129030;hp=f4d23a6b26014ecf606dcc574e5536b8c3798c03;p=secnet.git logfile: New `prefix' option. This allows the config file to add a fixed string to log messages. This will be useful in our test suite, which mixes up output from two instances of secnet. Signed-off-by: Ian Jackson --- diff --git a/README b/README index d06a71b..d9df1ed 100644 --- a/README +++ b/README @@ -316,6 +316,7 @@ Defines: logfile: dict argument filename (string): where to log to; default is stderr + prefix (string): added to messages [""] class (string list): what type of messages to log { "debug-config", M_DEBUG_CONFIG }, { "debug-phase", M_DEBUG_PHASE }, diff --git a/log.c b/log.c index f3ac057..1239612 100644 --- a/log.c +++ b/log.c @@ -308,6 +308,7 @@ struct logfile { string_t logfile; uint32_t level; FILE *f; + const char *prefix; bool_t forked; }; @@ -333,9 +334,10 @@ static void logfile_vlog(void *sst, int class, const char *message, if (class&st->level) { t=time(NULL); tm=localtime(&t); - fprintf(st->f,"%s %2d %02d:%02d:%02d %s", + fprintf(st->f,"%s %2d %02d:%02d:%02d %s%s%s", months[tm->tm_mon],tm->tm_mday,tm->tm_hour,tm->tm_min, tm->tm_sec, + st->prefix, st->prefix[0] ? " " : "", pidbuf); vfprintf(st->f,message,args); fprintf(st->f,"\n"); @@ -427,6 +429,7 @@ static list_t *logfile_apply(closure_t *self, struct cloc loc, dict_t *context, st->ops.buff[0]=0; st->loc=loc; st->f=stderr; + st->prefix=""; st->forked=0; item=list_elem(args,0); @@ -436,6 +439,8 @@ static list_t *logfile_apply(closure_t *self, struct cloc loc, dict_t *context, dict=item->data.dict; st->logfile=dict_read_string(dict,"filename",False,"logfile",loc); + st->prefix=dict_read_string(dict,"prefix",False,"logfile",loc); + if (!st->prefix) st->prefix=""; st->level=string_list_to_word(dict_lookup(dict,"class"), message_class_table,"logfile");