From f78056fb2cf4554d5dcc50b5e0e79bc09ae825cf Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Mon, 6 Dec 1999 13:51:04 +0000 Subject: Allow logging to stderr as well. --- sysdep/unix/config.Y | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'sysdep/unix/config.Y') diff --git a/sysdep/unix/config.Y b/sysdep/unix/config.Y index bd9c382..f0a517e 100644 --- a/sysdep/unix/config.Y +++ b/sysdep/unix/config.Y @@ -12,29 +12,33 @@ CF_HDR CF_DECLS -CF_KEYWORDS(LOG, SYSLOG, ALL, DEBUG, TRACE, INFO, REMOTE, WARNING, ERROR, AUTH, FATAL, BUG) +CF_KEYWORDS(LOG, SYSLOG, ALL, DEBUG, TRACE, INFO, REMOTE, WARNING, ERROR, AUTH, FATAL, BUG, STDERR) %type log_mask log_mask_list log_cat +%type log_file CF_GRAMMAR CF_ADDTO(conf, log_config) -log_config: LOG TEXT log_mask ';' { - struct log_config *c = cfg_allocz(sizeof(struct log_config)); - FILE *f = rfopen(new_config->pool, $2, "a"); - if (!f) cf_error("Unable to open log file `%s': %m", $2); - c->mask = $3; - c->fh = f; - add_tail(&new_config->logfiles, &c->n); - } - | LOG SYSLOG log_mask ';' { +log_config: LOG log_file log_mask ';' { struct log_config *c = cfg_allocz(sizeof(struct log_config)); + c->fh = $2; c->mask = $3; add_tail(&new_config->logfiles, &c->n); } ; +log_file: + TEXT { + FILE *f = tracked_fopen(new_config->pool, $1, "a"); + if (!f) cf_error("Unable to open log file `%s': %m", $1); + $$ = f; + } + | SYSLOG { $$ = NULL; } + | STDERR { $$ = stderr; } + ; + log_mask: ALL { $$ = ~0; } | '{' log_mask_list '}' { $$ = $2; } -- cgit v1.2.3