systemd-run: can launch units with SyslogLevel

This commit is contained in:
Evgeny Vereshchagin 2015-10-11 03:37:50 +00:00
parent 9ea79b459e
commit a8a1357560
2 changed files with 25 additions and 1 deletions

View File

@ -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;

View File

@ -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);