diff options
Diffstat (limited to 'src/journal')
-rw-r--r-- | src/journal/journald.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/journal/journald.c b/src/journal/journald.c index 9d45762e25..547c4ecc21 100644 --- a/src/journal/journald.c +++ b/src/journal/journald.c @@ -330,7 +330,10 @@ static void server_rotate(Server *s) { if (s->runtime_journal) { r = journal_file_rotate(&s->runtime_journal); if (r < 0) - log_error("Failed to rotate %s: %s", s->runtime_journal->path, strerror(-r)); + if (s->runtime_journal) + log_error("Failed to rotate %s: %s", s->runtime_journal->path, strerror(-r)); + else + log_error("Failed to create new runtime journal: %s", strerror(-r)); else server_fix_perms(s, s->runtime_journal, 0); } @@ -338,7 +341,11 @@ static void server_rotate(Server *s) { if (s->system_journal) { r = journal_file_rotate(&s->system_journal); if (r < 0) - log_error("Failed to rotate %s: %s", s->system_journal->path, strerror(-r)); + if (s->system_journal) + log_error("Failed to rotate %s: %s", s->system_journal->path, strerror(-r)); + else + log_error("Failed to create new system journal: %s", strerror(-r)); + else server_fix_perms(s, s->system_journal, 0); } @@ -346,7 +353,10 @@ static void server_rotate(Server *s) { HASHMAP_FOREACH_KEY(f, k, s->user_journals, i) { r = journal_file_rotate(&f); if (r < 0) - log_error("Failed to rotate %s: %s", f->path, strerror(-r)); + if (f->path) + log_error("Failed to rotate %s: %s", f->path, strerror(-r)); + else + log_error("Failed to create user journal: %s", strerror(-r)); else { hashmap_replace(s->user_journals, k, f); server_fix_perms(s, s->system_journal, PTR_TO_UINT32(k)); |