From b8d0ffc21f9c237cdeef49b1873b47df1a0a1543 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 23 Dec 2013 17:56:44 +0100 Subject: log: als turn on debug logging in non-PID1 if /proc/cmdline contains "debug" --- src/shared/log.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/shared') 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) -- cgit v1.2.3-54-g00ecf