summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Schmidt <mschmidt@redhat.com>2013-02-16 00:34:12 +0100
committerMichal Schmidt <mschmidt@redhat.com>2013-02-16 01:18:08 +0100
commit80cbda3558c534b575bf5315fa53b0f82dc088ab (patch)
treef52ab390ad5a95d4978c2a5dd43676a36c9c66d8
parenteb17e935988993f4e0ebe08be81150ce35b140bf (diff)
execute: increase severity of journal connect failure message
journald is supposed to work. Failure to connect to its socket implies losing messages. It should be a very unusual event. Log the failure with LOG_CRIT. Just because this unit's stdout/stderr failed to connect to the journal does not necessarily mean that we shouldn't try to log the failure using a structured entry, so let's use log_struct_unit.
-rw-r--r--src/core/execute.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/execute.c b/src/core/execute.c
index d459dfde64..b28962a3c3 100644
--- a/src/core/execute.c
+++ b/src/core/execute.c
@@ -389,9 +389,12 @@ static int setup_output(const ExecContext *context, int fileno, int socket_fd, c
case EXEC_OUTPUT_JOURNAL_AND_CONSOLE:
r = connect_logger_as(context, o, ident, unit_id, fileno);
if (r < 0) {
- log_error("Failed to connect std%s of %s to the journal socket: %s",
+ log_struct_unit(LOG_CRIT, unit_id,
+ "MESSAGE=Failed to connect std%s of %s to the journal socket: %s",
fileno == STDOUT_FILENO ? "out" : "err",
- unit_id, strerror(-r));
+ unit_id, strerror(-r),
+ "ERRNO=%d", -r,
+ NULL);
r = open_null_as(O_WRONLY, fileno);
}
return r;