From 4de854dcf00124b82c12421c3ea1f06a9edeff76 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Mon, 18 Mar 2013 19:01:40 +0100 Subject: logging: add new log_targets_reopen() function This function will re-open all existing log files in the application, praticularly useful for SIGHUP handlers in case of logrotate --- src/logging.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src') diff --git a/src/logging.c b/src/logging.c index eab8bdf8..ffe6ecff 100644 --- a/src/logging.c +++ b/src/logging.c @@ -597,6 +597,26 @@ int log_target_file_reopen(struct log_target *target) return 0; } +/*! \brief close and re-open a log file (for log file rotation) */ +int log_targets_reopen(void) +{ + struct log_target *tar; + int rc = 0; + + llist_for_each_entry(tar, &osmo_log_target_list, entry) { + switch (tar->type) { + case LOG_TGT_TYPE_FILE: + if (log_target_file_reopen(tar) < 0) + rc = -1; + break; + default: + break; + } + } + + return rc; +} + /*! \brief Generates the logging command string for VTY * \param[in] unused_info Deprecated parameter, no longer used! */ -- cgit v1.2.3