From: Lennart Poettering Date: Wed, 24 Jan 2018 16:33:07 +0000 (+0100) Subject: log: make log_set_upgrade_syslog_to_journal() take effect immediately X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=50cac1201976fbf64285378b7d2422c758cef254;p=elogind.git log: make log_set_upgrade_syslog_to_journal() take effect immediately This doesn't matter much, and we don't rely on it, but I think it's much nicer if we log_set_target() and log_set_upgrade_syslog_to_journal() can be called in either order and have the same effect. --- diff --git a/src/basic/log.c b/src/basic/log.c index d9890e835..b01ebaacd 100644 --- a/src/basic/log.c +++ b/src/basic/log.c @@ -1337,6 +1337,14 @@ int log_syntax_invalid_utf8_internal( #if 0 /// UNNEEDED by elogind void log_set_upgrade_syslog_to_journal(bool b) { upgrade_syslog_to_journal = b; + + /* Make the change effective immediately */ + if (b) { + if (log_target == LOG_TARGET_SYSLOG) + log_target = LOG_TARGET_JOURNAL; + else if (log_target == LOG_TARGET_SYSLOG_OR_KMSG) + log_target = LOG_TARGET_JOURNAL_OR_KMSG; + } } void log_set_always_reopen_console(bool b) { diff --git a/src/basic/log.h b/src/basic/log.h index 357564efb..d04768cd4 100644 --- a/src/basic/log.h +++ b/src/basic/log.h @@ -310,6 +310,7 @@ LogTarget log_target_from_string(const char *s) _pure_; #if 0 /// UNNEEDED by elogind void log_received_signal(int level, const struct signalfd_siginfo *si); +/* If turned on, any requests for a log target involving "syslog" will be implicitly upgraded to the equivalent journal target */ void log_set_upgrade_syslog_to_journal(bool b); void log_set_always_reopen_console(bool b); #endif // 0