From: Evgeny Vereshchagin Date: Sun, 11 Oct 2015 03:37:50 +0000 (+0000) Subject: systemd-run: can launch units with SyslogLevel X-Git-Tag: v228~203^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a8a1357560aa6b2618dfe65674c9c9179940ef88;p=thirdparty%2Fsystemd.git systemd-run: can launch units with SyslogLevel --- diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c index 88db1799587..73290002f6f 100644 --- a/src/core/dbus-execute.c +++ b/src/core/dbus-execute.c @@ -880,6 +880,19 @@ int bus_exec_context_set_transient_property( unit_write_drop_in_private_format(u, mode, name, "SyslogIdentifier=%s\n", id); } + return 1; + } else if (streq(name, "SyslogLevel")) { + int level; + + r = sd_bus_message_read(message, "i", &level); + if (r < 0) + return r; + + if (mode != UNIT_CHECK) { + c->syslog_priority = (c->syslog_priority & LOG_FACMASK) | level; + unit_write_drop_in_private_format(u, mode, name, "SyslogLevel=%i\n", level); + } + return 1; } else if (streq(name, "Nice")) { int n; diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c index 65922dd93bc..bf9320b0e0f 100644 --- a/src/shared/bus-util.c +++ b/src/shared/bus-util.c @@ -1497,7 +1497,18 @@ int bus_append_unit_property_assignment(sd_bus_message *m, const char *assignmen "RootDirectory", "SyslogIdentifier")) r = sd_bus_message_append(m, "v", "s", eq); - else if (streq(field, "DeviceAllow")) { + else if (streq(field, "SyslogLevel")) { + int level; + + level = log_level_from_string(eq); + if (level < 0) { + log_error("Failed to parse %s value %s.", field, eq); + return -EINVAL; + } + + r = sd_bus_message_append(m, "v", "i", level); + + } else if (streq(field, "DeviceAllow")) { if (isempty(eq)) r = sd_bus_message_append(m, "v", "a(ss)", 0);