diff options
author | Lennart Poettering <lennart@poettering.net> | 2020-09-30 16:17:12 +0200 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2020-12-08 18:08:31 +0100 |
commit | 6f58e84284499442756d3a3891d63f941df12120 (patch) | |
tree | 4a86d43b83b66c1deb2debf11904d18599e59487 | |
parent | d08f2ff8a3caa907e83ee370c8ff7e96c7bed756 (diff) | |
download | systemd-6f58e84284499442756d3a3891d63f941df12120.tar.gz |
log: normalize log target condition check
THis doesn't change the condition's logic at all, but is an attempt to
make things a bit more readable: instead of checking log_target !=
LOG_TARGET_AUTO let's actually list the targets where we want to
consider journal/syslog/kmsg, to make things a bit less confusing. After
all the message here is not to avoid them if LOG_TARGET_AUTO is set, but
to definitely do them in the other cases.
(cherry picked from commit ef9bddb79984aa1b9d605d44b8c0890e8289bef1)
-rw-r--r-- | src/basic/log.c | 51 |
1 files changed, 31 insertions, 20 deletions
diff --git a/src/basic/log.c b/src/basic/log.c index c6fe203808..ebfe8e6ba6 100644 --- a/src/basic/log.c +++ b/src/basic/log.c @@ -265,28 +265,39 @@ int log_open(void) { return 0; } - if (log_target != LOG_TARGET_AUTO || getpid_cached() == 1 || stderr_is_journal()) { - - if (!prohibit_ipc && - IN_SET(log_target, LOG_TARGET_AUTO, - LOG_TARGET_JOURNAL_OR_KMSG, - LOG_TARGET_JOURNAL)) { - r = log_open_journal(); - if (r >= 0) { - log_close_syslog(); - log_close_console(); - return r; + if (getpid_cached() == 1 || + stderr_is_journal() || + IN_SET(log_target, + LOG_TARGET_KMSG, + LOG_TARGET_JOURNAL, + LOG_TARGET_JOURNAL_OR_KMSG, + LOG_TARGET_SYSLOG, + LOG_TARGET_SYSLOG_OR_KMSG)) { + + if (!prohibit_ipc) { + if (IN_SET(log_target, + LOG_TARGET_AUTO, + LOG_TARGET_JOURNAL_OR_KMSG, + LOG_TARGET_JOURNAL)) { + + r = log_open_journal(); + if (r >= 0) { + log_close_syslog(); + log_close_console(); + return r; + } } - } - if (!prohibit_ipc && - IN_SET(log_target, LOG_TARGET_SYSLOG_OR_KMSG, - LOG_TARGET_SYSLOG)) { - r = log_open_syslog(); - if (r >= 0) { - log_close_journal(); - log_close_console(); - return r; + if (IN_SET(log_target, + LOG_TARGET_SYSLOG_OR_KMSG, + LOG_TARGET_SYSLOG)) { + + r = log_open_syslog(); + if (r >= 0) { + log_close_journal(); + log_close_console(); + return r; + } } } |