1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-22 17:35:35 +03:00

log: raise log level to LOG_DEBUG if $DEBUG_INVOCATION=1 is set (#35606)

Let's implement our own protocols, and raise the log level to debug if
DEBUG_INVOCATION=1 is set.

Follow-up for: 7d8bbfbe08
This commit is contained in:
Yu Watanabe 2024-12-14 10:16:53 +09:00 committed by GitHub
commit beed1447b9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 17 additions and 5 deletions

3
TODO
View File

@ -129,9 +129,6 @@ Deprecations and removals:
Features:
* our logging tools should look for $DEBUG_INVOCATION and consider equivalent
to $SYSTEMD_LOG_LEVEL=debug
* Teach systemd-ssh-generator to generated an /run/issue.d/ drop-in telling
users how to connect to the system via the AF_VSOCK, as per:
https://github.com/systemd/systemd/issues/35071#issuecomment-2462803142

View File

@ -1406,14 +1406,29 @@ static bool should_parse_proc_cmdline(void) {
void log_parse_environment_variables(void) {
const char *e;
int r;
e = getenv("SYSTEMD_LOG_TARGET");
if (e && log_set_target_from_string(e) < 0)
log_warning("Failed to parse log target '%s', ignoring.", e);
e = getenv("SYSTEMD_LOG_LEVEL");
if (e && log_set_max_level_from_string(e) < 0)
log_warning("Failed to parse log level '%s', ignoring.", e);
if (e) {
r = log_set_max_level_from_string(e);
if (r < 0)
log_warning_errno(r, "Failed to parse log level '%s', ignoring: %m", e);
} else {
/* If no explicit log level is specified then let's see if this is a debug invocation, and if
* so raise the log level to debug too. Note that this is not symmetric: just because
* DEBUG_INVOCATION is explicitly set to 0 we won't lower the log level below debug. This
* follows the logic that debug logging is an opt-in thing anyway, and if there's any reason
* to enable it we should not disable it here automatically. */
r = getenv_bool("DEBUG_INVOCATION");
if (r < 0 && r != -ENXIO)
log_warning_errno(r, "Failed to parse $DEBUG_INVOCATION value, ignoring: %m");
else if (r > 0)
log_set_max_level(LOG_DEBUG);
}
e = getenv("SYSTEMD_LOG_COLOR");
if (e && log_show_color_from_string(e) < 0)