]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core: adjust job completion message log levels 647/head
authorMichal Schmidt <mschmidt@redhat.com>
Tue, 21 Jul 2015 17:07:24 +0000 (19:07 +0200)
committerMichal Schmidt <mschmidt@redhat.com>
Tue, 21 Jul 2015 17:28:17 +0000 (19:28 +0200)
We do not print all non-OK job completion status messages to the console
in red, because not all of them are plain errors. We do however log the
same messages as LOG_ERR.

Differentiate the log levels by deducing them from the job result in a
way that more or less matches the color of the console message.

src/core/job.c

index 03ef1d58915aab048c7160d47a8e9150e99714cf..15f5cc0cc9327af6ad92be221735cdbc162a5f89 100644 (file)
@@ -706,6 +706,17 @@ static void job_log_status_message(Unit *u, JobType t, JobResult result) {
         const char *format;
         char buf[LINE_MAX];
         sd_id128_t mid;
+        static const int job_result_log_level[_JOB_RESULT_MAX] = {
+                [JOB_DONE]        = LOG_INFO,
+                [JOB_CANCELED]    = LOG_INFO,
+                [JOB_TIMEOUT]     = LOG_ERR,
+                [JOB_FAILED]      = LOG_ERR,
+                [JOB_DEPENDENCY]  = LOG_WARNING,
+                [JOB_SKIPPED]     = LOG_NOTICE,
+                [JOB_INVALID]     = LOG_INFO,
+                [JOB_ASSERT]      = LOG_WARNING,
+                [JOB_UNSUPPORTED] = LOG_WARNING,
+        };
 
         assert(u);
         assert(t >= 0);
@@ -732,7 +743,7 @@ static void job_log_status_message(Unit *u, JobType t, JobResult result) {
         else if (t == JOB_RELOAD)
                 mid = SD_MESSAGE_UNIT_RELOADED;
         else {
-                log_struct(result == JOB_DONE ? LOG_INFO : LOG_ERR,
+                log_struct(job_result_log_level[result],
                            LOG_UNIT_ID(u),
                            LOG_MESSAGE("%s", buf),
                            "RESULT=%s", job_result_to_string(result),
@@ -740,7 +751,7 @@ static void job_log_status_message(Unit *u, JobType t, JobResult result) {
                 return;
         }
 
-        log_struct(result == JOB_DONE ? LOG_INFO : LOG_ERR,
+        log_struct(job_result_log_level[result],
                    LOG_MESSAGE_ID(mid),
                    LOG_UNIT_ID(u),
                    LOG_MESSAGE("%s", buf),