journal: log user units for coredumps and show them in systemctl status

This commit is contained in:
Mirco Tischler
2013-02-07 01:02:34 -05:00
committed by Zbigniew Jędrzejewski-Szmek
parent d2f1f23ad2
commit f904546894
2 changed files with 21 additions and 6 deletions
+15 -3
View File
@@ -954,7 +954,7 @@ int show_journal_by_user_unit(
uid_t uid,
OutputFlags flags) {
_cleanup_free_ char *m1 = NULL, *m2 = NULL, *m3 = NULL;
_cleanup_free_ char *m1 = NULL, *m2 = NULL, *m3 = NULL, *m4 = NULL;
sd_journal *j = NULL;
int r;
@@ -972,7 +972,8 @@ int show_journal_by_user_unit(
if (asprintf(&m1, "_SYSTEMD_USER_UNIT=%s", unit) < 0 ||
asprintf(&m2, "USER_UNIT=%s", unit) < 0 ||
asprintf(&m3, "_UID=%d", uid) < 0) {
asprintf(&m3, "COREDUMP_USER_UNIT=%s", unit) < 0 ||
asprintf(&m4, "_UID=%d", uid) < 0) {
r = -ENOMEM;
goto finish;
}
@@ -985,7 +986,7 @@ int show_journal_by_user_unit(
r = sd_journal_add_match(j, m1, 0);
if (r < 0)
goto finish;
r = sd_journal_add_match(j, m3, 0);
r = sd_journal_add_match(j, m4, 0);
if (r < 0)
goto finish;
@@ -994,9 +995,20 @@ int show_journal_by_user_unit(
if (r < 0)
goto finish;
r = sd_journal_add_match(j, m2, 0);
if (r < 0)
goto finish;
r = sd_journal_add_match(j, m4, 0);
if (r < 0)
goto finish;
/* Look for coredumps of the service */
r = sd_journal_add_disjunction(j);
if (r < 0)
goto finish;
r = sd_journal_add_match(j, m3, 0);
if (r < 0)
goto finish;
r = sd_journal_add_match(j, m4, 0);
if (r < 0)
goto finish;