diff options
author | Lennart Poettering <lennart@poettering.net> | 2020-09-30 16:19:12 +0200 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2020-12-10 18:05:15 +0100 |
commit | b4d3baba9f2b9558f437d621574dec6277a5400c (patch) | |
tree | db28ace1bdbe5dbcc3a15cf81a1c792cb1e31919 | |
parent | 4f99ab85cddcfa0d6418ecaf34ebca76e20e24c6 (diff) | |
download | systemd-b4d3baba9f2b9558f437d621574dec6277a5400c.tar.gz |
generator: use kmsg in system-level generators, journal otherwise
Fixes: #17129.
(cherry picked from commit dee29aeb5909f4f5604012ced250488286b8d468)
https://github.com/systemd/systemd-stable/issues/76
(cherry picked from commit 599f51fde46875c34875da27de647caa2cd27f2e)
-rw-r--r-- | src/shared/generator.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/shared/generator.c b/src/shared/generator.c index 04d2f86a4a..d61b367d33 100644 --- a/src/shared/generator.c +++ b/src/shared/generator.c @@ -4,6 +4,7 @@ #include <unistd.h> #include "alloc-util.h" +#include "cgroup-util.h" #include "dropin.h" #include "escape.h" #include "fd-util.h" @@ -620,6 +621,11 @@ int generator_write_cryptsetup_service_section( } void log_setup_generator(void) { - log_set_prohibit_ipc(true); - log_setup_service(); + /* Disable talking to syslog/journal (i.e. the two IPC-based loggers) if we run in system context. */ + if (cg_pid_get_owner_uid(0, NULL) == -ENXIO /* not running in a per-user slice */) + log_set_prohibit_ipc(true); + + log_set_target(LOG_TARGET_JOURNAL_OR_KMSG); /* This effectively means: journal for per-user generators, kmsg otherwise */ + log_parse_environment(); + (void) log_open(); } |