diff options
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/log.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/shared/log.c b/src/shared/log.c index 268f0340a1..2a075ffeba 100644 --- a/src/shared/log.c +++ b/src/shared/log.c @@ -879,7 +879,24 @@ int log_set_max_level_from_string(const char *e) { } void log_parse_environment(void) { + _cleanup_free_ char *line = NULL; const char *e; + int r; + + r = proc_cmdline(&line); + if (r < 0) + log_warning("Failed to read /proc/cmdline. Ignoring: %s", strerror(-r)); + else if (r > 0) { + char *w, *state; + size_t l; + + FOREACH_WORD_QUOTED(w, l, line, state) { + if (l == 5 && startswith(w, "debug")) { + log_set_max_level(LOG_DEBUG); + break; + } + } + } e = secure_getenv("SYSTEMD_LOG_TARGET"); if (e && log_set_target_from_string(e) < 0) |