From 32c190634c115050ea27c9a89f2c8891aaca9805 Mon Sep 17 00:00:00 2001 From: Thomas Egerer Date: Wed, 29 Aug 2018 13:14:59 +0200 Subject: [PATCH] custom-logger: Add optional reload method The reload of the configuration of the loggers so far only included the log levels. In order to support the reload of all other options, a reload function may be implemented. Signed-off-by: Thomas Egerer --- src/libcharon/bus/listeners/custom_logger.h | 9 +++++++-- src/libcharon/daemon.c | 4 ++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/libcharon/bus/listeners/custom_logger.h b/src/libcharon/bus/listeners/custom_logger.h index a256ad1ec..4856163f4 100644 --- a/src/libcharon/bus/listeners/custom_logger.h +++ b/src/libcharon/bus/listeners/custom_logger.h @@ -49,12 +49,17 @@ struct custom_logger_t { * @param group debug group to set * @param level max level to log (0..4) */ - void (*set_level) (custom_logger_t *this, debug_t group, level_t level); + void (*set_level)(custom_logger_t *this, debug_t group, level_t level); + + /** + * Reload custom logger configuration. + */ + void (*reload)(custom_logger_t *this); /** * Destroy the custom_logger_t object. */ - void (*destroy) (custom_logger_t *this); + void (*destroy)(custom_logger_t *this); }; /** diff --git a/src/libcharon/daemon.c b/src/libcharon/daemon.c index c02ab28f2..202992105 100644 --- a/src/libcharon/daemon.c +++ b/src/libcharon/daemon.c @@ -549,6 +549,10 @@ static void load_custom_logger(private_daemon_t *this, lib->settings->get_int(lib->settings, "%s.customlog.%s.%N", def, lib->ns, entry->name, debug_lower_names, group)); } + if (custom_logger->reload) + { + custom_logger->reload(custom_logger); + } charon->bus->add_logger(charon->bus, &custom_logger->logger); }