]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
systemd-run: can launch units with SyslogLevel
authorEvgeny Vereshchagin <evvers@ya.ru>
Sun, 11 Oct 2015 03:37:50 +0000 (03:37 +0000)
committerEvgeny Vereshchagin <evvers@ya.ru>
Wed, 14 Oct 2015 14:48:45 +0000 (14:48 +0000)
src/core/dbus-execute.c
src/shared/bus-util.c

index 88db17995878647f21e04d426959653d880bf8bb..73290002f6fd69bbb5bdde9b61518bde4e9bd93e 100644 (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;
index 65922dd93bcf71399f9cea1a3fa9d31017b22b42..bf9320b0e0fe79c898fbf2912c777604d14b2be0 100644 (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);