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.
This commit is contained in:
Arian van Putten 2019-08-12 19:36:56 +02:00 committed by Zbigniew Jędrzejewski-Szmek
parent 23f8fbb303
commit 0e4a4f56be
3 changed files with 14 additions and 3 deletions

View File

@ -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>

View File

@ -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>

View File

@ -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;