- if (asprintf(&m1, "_SYSTEMD_USER_UNIT=%s", unit) < 0 ||
- asprintf(&m2, "USER_UNIT=%s", unit) < 0 ||
- asprintf(&m3, "COREDUMP_USER_UNIT=%s", unit) < 0 ||
- asprintf(&m4, "_UID=%d", uid) < 0) {
- r = -ENOMEM;
- goto finish;
- }
-
- r = sd_journal_open(&j, SD_JOURNAL_LOCAL_ONLY);
- if (r < 0)
- goto finish;
-
- /* Look for messages from the user service itself */
- r = sd_journal_add_match(j, m1, 0);
- if (r < 0)
- goto finish;
- r = sd_journal_add_match(j, m4, 0);
- if (r < 0)
- goto finish;
-
- /* Look for messages from systemd about this service */
- r = sd_journal_add_disjunction(j);
- 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);