aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArian van Putten <arian.vanputten@gmail.com>2019-08-12 19:36:56 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2019-08-22 13:39:54 +0200
commit0e4a4f56bebc94a99134d79c5e1148aa787fc4dc (patch)
tree56ad0f0c4cc2f01ec4b0464b3b0a1108edba9e65
parentcore: TAKE_PTR in timer_add_one_calendar_spec (diff)
downloadsystemd-0e4a4f56bebc94a99134d79c5e1148aa787fc4dc.tar.xz
systemd-0e4a4f56bebc94a99134d79c5e1148aa787fc4dc.zip
journalctl: Make journalctl --user-unit= match on _SYSTEMD_USER_SLICE
journalctl --unit= already did this, and allows you to tail all the logs for a certain slice easily. It seemed only natural to make --user-unit behave in a similar way. The _SYSTEMD_USER_SLICE field was not documented as being added by journald, so I have added that to the documentation too. Furthermore, I have documented the existing behaviour of --unit= and the new behaviour of --user-unit= The behaviour was actually not documented before, so I am also OK with removing the match for the --unit= command instead. The user would then have to manually provide _SYSTEMD_SLICE= filter to journalctl in both cases. Both options work for me.
-rw-r--r--man/journalctl.xml13
-rw-r--r--man/systemd.journal-fields.xml1
-rw-r--r--src/journal/journalctl.c3
3 files changed, 14 insertions, 3 deletions
diff --git a/man/journalctl.xml b/man/journalctl.xml
index 0ecab521fa0..f6703b06d65 100644
--- a/man/journalctl.xml
+++ b/man/journalctl.xml
@@ -544,7 +544,12 @@
the unit
(<literal>_SYSTEMD_UNIT=<replaceable>UNIT</replaceable></literal>),
along with additional matches for messages from systemd and
- messages about coredumps for the specified unit.</para>
+ messages about coredumps for the specified unit. A match
+ is also added for <literal>_SYSTEMD_SLICE=<replaceable>UNIT</replaceable></literal>,
+ such that if the provided <replaceable>UNIT</replaceable> is a
+ <citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ unit, all logs of the children of the slice will be logged.
+ </para>
<para>This parameter can be specified multiple times.</para>
</listitem>
@@ -558,7 +563,11 @@
(<literal>_SYSTEMD_USER_UNIT=</literal> and
<literal>_UID=</literal>) and additional matches for messages
from session systemd and messages about coredumps for the
- specified unit.</para>
+ specified unit. A match
+ is also added for <literal>_SYSTEMD_USER_SLICE=<replaceable>UNIT</replaceable></literal>,
+ such that if the provided <replaceable>UNIT</replaceable> is a
+ <citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ unit, all logs of the children of the unit will be logged.</para>
<para>This parameter can be specified multiple times.</para>
</listitem>
diff --git a/man/systemd.journal-fields.xml b/man/systemd.journal-fields.xml
index fa374bf0f80..c11ec050e5a 100644
--- a/man/systemd.journal-fields.xml
+++ b/man/systemd.journal-fields.xml
@@ -188,6 +188,7 @@
<term><varname>_SYSTEMD_SLICE=</varname></term>
<term><varname>_SYSTEMD_UNIT=</varname></term>
<term><varname>_SYSTEMD_USER_UNIT=</varname></term>
+ <term><varname>_SYSTEMD_USER_SLICE=</varname></term>
<term><varname>_SYSTEMD_SESSION=</varname></term>
<term><varname>_SYSTEMD_OWNER_UID=</varname></term>
diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
index 764b3c217e3..6d6bb1cf63c 100644
--- a/src/journal/journalctl.c
+++ b/src/journal/journalctl.c
@@ -1539,7 +1539,8 @@ static int get_possible_units(
"_SYSTEMD_USER_UNIT\0" \
"USER_UNIT\0" \
"COREDUMP_USER_UNIT\0" \
- "OBJECT_SYSTEMD_USER_UNIT\0"
+ "OBJECT_SYSTEMD_USER_UNIT\0" \
+ "_SYSTEMD_USER_SLICE\0"
static int add_units(sd_journal *j) {
_cleanup_strv_free_ char **patterns = NULL;