X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Flog.c;h=646a1d6389822a358a3d2ec30c4b01497e9d29cf;hb=99e651c2dc93fcc0ce762e7dab2dd3e9a70d76a1;hp=9c0156026d0a5a7d57b3596fcdae69c2d0dc57cb;hpb=5ffa8c818120e35c89becd938d160235c069dd12;p=elogind.git diff --git a/src/shared/log.c b/src/shared/log.c index 9c0156026..646a1d638 100644 --- a/src/shared/log.c +++ b/src/shared/log.c @@ -914,7 +914,9 @@ static int parse_proc_cmdline_item(const char *key, const char *value) { * The systemd.log_xyz= settings are parsed by all tools, and * so is "debug". * - * However, "quiet" is only parsed by PID 1! + * However, "quiet" is only parsed by PID 1, and only turns of + * status output to /dev/console, but does not alter the log + * level. */ if (streq(key, "debug") && !value) @@ -947,7 +949,11 @@ static int parse_proc_cmdline_item(const char *key, const char *value) { void log_parse_environment(void) { const char *e; - (void) parse_proc_cmdline(parse_proc_cmdline_item); + if (get_ctty_devnr(0, NULL) < 0) + /* Only try to read the command line in daemons. + We assume that anything that has a controlling + tty is user stuff. */ + (void) parse_proc_cmdline(parse_proc_cmdline_item); e = secure_getenv("SYSTEMD_LOG_TARGET"); if (e && log_set_target_from_string(e) < 0)