diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2013-12-04 16:11:54 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2013-12-04 16:11:54 +0000 |
commit | ea3c69a103647377d662edb3b59486466352945c (patch) | |
tree | 8fadbfdaa38809515320d6d5e8cb4277a342133b /src/cfg_utils.c | |
parent | 4ce9f550f52f0656ce4ae5a8cda2caaf6b553aa7 (diff) | |
download | rspamd-ea3c69a103647377d662edb3b59486466352945c.tar.gz rspamd-ea3c69a103647377d662edb3b59486466352945c.zip |
Init logging just after config is parsed by ucl.
Diffstat (limited to 'src/cfg_utils.c')
-rw-r--r-- | src/cfg_utils.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/cfg_utils.c b/src/cfg_utils.c index d015d60a0..5bea92303 100644 --- a/src/cfg_utils.c +++ b/src/cfg_utils.c @@ -778,7 +778,9 @@ rspamd_ucl_add_conf_variables (struct ucl_parser *parser) } gboolean -read_rspamd_config (struct config_file *cfg, const gchar *filename, const gchar *convert_to) +read_rspamd_config (struct config_file *cfg, const gchar *filename, + const gchar *convert_to, rspamd_rcl_section_fin_t logger_fin, + gpointer logger_ud) { struct stat st; gint fd; @@ -786,7 +788,7 @@ read_rspamd_config (struct config_file *cfg, const gchar *filename, const gchar const gchar *ext; GMarkupParseContext *ctx; GError *err = NULL; - struct rspamd_rcl_section *top; + struct rspamd_rcl_section *top, *logger; gboolean res, is_xml = FALSE; struct rspamd_xml_userdata ud; struct ucl_parser *parser; @@ -868,6 +870,12 @@ read_rspamd_config (struct config_file *cfg, const gchar *filename, const gchar top = rspamd_rcl_config_init (); err = NULL; + HASH_FIND_STR(top, "log", logger); + if (logger != NULL) { + logger->fin = logger_fin; + logger->fin_ud = logger_ud; + } + if (!rspamd_read_rcl_config (top, cfg, cfg->rcl_obj, &err)) { msg_err ("rcl parse error: %s", err->message); return FALSE; |