]> git.ipfire.org Git - thirdparty/systemd.git/blame - man/journalctl.xml
journald: bring order of MaxLevelXYZ= setting explanations in sync with listed names
[thirdparty/systemd.git] / man / journalctl.xml
CommitLineData
2af777ba 1<?xml version='1.0'?> <!--*-nxml-*-->
3a54a157 2<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
eea10b26 3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
db9ecf05 4<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
2af777ba 5
74962351
LP
6<refentry id="journalctl"
7 xmlns:xi="http://www.w3.org/2001/XInclude">
8
9 <refentryinfo>
10 <title>journalctl</title>
11 <productname>systemd</productname>
12 </refentryinfo>
13
14 <refmeta>
15 <refentrytitle>journalctl</refentrytitle>
16 <manvolnum>1</manvolnum>
17 </refmeta>
18
19 <refnamediv>
20 <refname>journalctl</refname>
8b9f0921 21 <refpurpose>Print log entries from the systemd journal</refpurpose>
74962351
LP
22 </refnamediv>
23
24 <refsynopsisdiv>
25 <cmdsynopsis>
26 <command>journalctl</command>
27 <arg choice="opt" rep="repeat">OPTIONS</arg>
28 <arg choice="opt" rep="repeat">MATCHES</arg>
29 </cmdsynopsis>
30 </refsynopsisdiv>
31
32 <refsect1>
33 <title>Description</title>
34
70b9ea26
ZJS
35 <para><command>journalctl</command> is used to print the log entries stored in the journal by
36 <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
37 and
38 <citerefentry><refentrytitle>systemd-journal-remote.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
39 </para>
74962351 40
70b9ea26
ZJS
41 <para>If called without parameters, it will show the contents of the journal accessible to the calling
42 user, starting with the oldest entry collected.</para>
74962351
LP
43
44 <para>If one or more match arguments are passed, the output is filtered accordingly. A match is in the
45 format <literal>FIELD=VALUE</literal>, e.g. <literal>_SYSTEMD_UNIT=httpd.service</literal>, referring to
46 the components of a structured journal entry. See
47 <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>
48 for a list of well-known fields. If multiple matches are specified matching different fields, the log
49 entries are filtered by both, i.e. the resulting output will show only entries matching all the specified
50 matches of this kind. If two matches apply to the same field, then they are automatically matched as
51 alternatives, i.e. the resulting output will show entries matching any of the specified matches for the
52 same field. Finally, the character <literal>+</literal> may appear as a separate word between other terms
53 on the command line. This causes all matches before and after to be combined in a disjunction
54 (i.e. logical OR).</para>
55
56 <para>It is also possible to filter the entries by specifying an absolute file path as an argument. The
57 file path may be a file or a symbolic link and the file must exist at the time of the query. If a file
58 path refers to an executable binary, an <literal>_EXE=</literal> match for the canonicalized binary path
59 is added to the query. If a file path refers to an executable script, a <literal>_COMM=</literal> match
60 for the script name is added to the query. If a file path refers to a device node,
61 <literal>_KERNEL_DEVICE=</literal> matches for the kernel name of the device and for each of its ancestor
62 devices is added to the query. Symbolic links are dereferenced, kernel names are synthesized, and parent
63 devices are identified from the environment at the time of the query. In general, a device node is the
64 best proxy for an actual device, as log entries do not usually contain fields that identify an actual
65 device. For the resulting log entries to be correct for the actual device, the relevant parts of the
66 environment at the time the entry was logged, in particular the actual device corresponding to the device
67 node, must have been the same as those at the time of the query. Because device nodes generally change
68 their corresponding devices across reboots, specifying a device node path causes the resulting entries to
69 be restricted to those from the current boot.</para>
70
71 <para>Additional constraints may be added using options <option>--boot</option>,
72 <option>--unit=</option>, etc., to further limit what entries will be shown (logical AND).</para>
73
74 <para>Output is interleaved from all accessible journal files, whether they are rotated or currently
75 being written, and regardless of whether they belong to the system itself or are accessible user
76 journals. The <option>--header</option> option can be used to identify which files
77 <emphasis>are</emphasis> being shown.</para>
78
79 <para>The set of journal files which will be used can be modified using the <option>--user</option>,
12f25768 80 <option>--system</option>, <option>--directory=</option>, and <option>--file=</option> options, see
74962351
LP
81 below.</para>
82
83 <para>All users are granted access to their private per-user journals. However, by default, only root and
84 users who are members of a few special groups are granted access to the system journal and the journals
85 of other users. Members of the groups <literal>systemd-journal</literal>, <literal>adm</literal>, and
86 <literal>wheel</literal> can read all journal files. Note that the two latter groups traditionally have
87 additional privileges specified by the distribution. Members of the <literal>wheel</literal> group can
88 often perform administrative tasks.</para>
89
90 <para>The output is paged through <command>less</command> by default, and long lines are "truncated" to
91 screen width. The hidden part can be viewed by using the left-arrow and right-arrow keys. Paging can be
92 disabled; see the <option>--no-pager</option> option and the "Environment" section below.</para>
93
94 <para>When outputting to a tty, lines are colored according to priority: lines of level ERROR and higher
9d5c2065
AK
95 are colored red; lines of level WARNING are colored yellow; lines of level NOTICE are highlighted;
96 lines of level INFO are displayed normally; lines of level DEBUG are colored grey.</para>
70b9ea26
ZJS
97
98 <para>To write entries <emphasis>to</emphasis> the journal, a few methods may be used. In general, output
99 from systemd units is automatically connected to the journal, see
100 <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
101 In addition,
102 <citerefentry><refentrytitle>systemd-cat</refentrytitle><manvolnum>1</manvolnum></citerefentry>
103 may be used to send messages to the journal directly.</para>
74962351
LP
104 </refsect1>
105
106 <refsect1>
107 <title>Source Options</title>
108
109 <para>The following options control where to read journal records from:</para>
110
111 <variablelist>
112 <varlistentry>
113 <term><option>--system</option></term>
114 <term><option>--user</option></term>
115
116 <listitem><para>Show messages from system services and the kernel (with
117 <option>--system</option>). Show messages from service of current user (with
118 <option>--user</option>). If neither is specified, show all messages that the user can see.
3d218676
LG
119 </para>
120
e754af35 121 <para>The <option>--user</option> option affects how <option>--unit=</option> arguments are
cad8fa47
LP
122 treated. See <option>--unit=</option>.</para>
123
124 <para>Note that <option>--user</option> only works if persistent logging is enabled, via the
125 <varname>Storage=</varname> setting in
aefdc112
AK
126 <citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
127
128 <xi:include href="version-info.xml" xpointer="v205"/></listitem>
49fba678
ZJS
129 </varlistentry>
130
cc25a67e 131 <varlistentry>
74962351
LP
132 <term><option>-M</option></term>
133 <term><option>--machine=</option></term>
cc25a67e 134
74962351 135 <listitem><para>Show messages from a running, local container. Specify a container name to connect
aefdc112
AK
136 to.</para>
137
138 <xi:include href="version-info.xml" xpointer="v209"/></listitem>
cc25a67e
LK
139 </varlistentry>
140
49fba678 141 <varlistentry>
74962351
LP
142 <term><option>-m</option></term>
143 <term><option>--merge</option></term>
49fba678 144
74962351 145 <listitem><para>Show entries interleaved from all available journals, including remote
aefdc112
AK
146 ones.</para>
147
148 <xi:include href="version-info.xml" xpointer="v190"/></listitem>
991e274b
LP
149 </varlistentry>
150
151 <varlistentry>
74962351
LP
152 <term><option>-D <replaceable>DIR</replaceable></option></term>
153 <term><option>--directory=<replaceable>DIR</replaceable></option></term>
991e274b 154
74962351
LP
155 <listitem><para>Takes a directory path as argument. If specified, journalctl will operate on the
156 specified journal directory <replaceable>DIR</replaceable> instead of the default runtime and system
aefdc112
AK
157 journal paths.</para>
158
159 <xi:include href="version-info.xml" xpointer="v187"/></listitem>
74962351 160 </varlistentry>
e6a4e25a 161
74962351 162 <varlistentry>
dde54b8a 163 <term><option>-i <replaceable>GLOB</replaceable></option></term>
74962351
LP
164 <term><option>--file=<replaceable>GLOB</replaceable></option></term>
165
166 <listitem><para>Takes a file glob as an argument. If specified, journalctl will operate on the
167 specified journal files matching <replaceable>GLOB</replaceable> instead of the default runtime and
168 system journal paths. May be specified multiple times, in which case files will be suitably
aefdc112
AK
169 interleaved.</para>
170
171 <xi:include href="version-info.xml" xpointer="v205"/></listitem>
49fba678
ZJS
172 </varlistentry>
173
174 <varlistentry>
74962351 175 <term><option>--root=<replaceable>ROOT</replaceable></option></term>
49fba678 176
74962351
LP
177 <listitem><para>Takes a directory path as an argument. If specified, <command>journalctl</command>
178 will operate on journal directories and catalog file hierarchy underneath the specified directory
179 instead of the root directory (e.g. <option>--update-catalog</option> will create
180 <filename><replaceable>ROOT</replaceable>/var/lib/systemd/catalog/database</filename>, and journal
181 files under <filename><replaceable>ROOT</replaceable>/run/journal/</filename> or
182 <filename><replaceable>ROOT</replaceable>/var/log/journal/</filename> will be displayed).
aefdc112
AK
183 </para>
184
185 <xi:include href="version-info.xml" xpointer="v201"/></listitem>
49fba678
ZJS
186 </varlistentry>
187
188 <varlistentry>
74962351 189 <term><option>--image=<replaceable>IMAGE</replaceable></option></term>
49fba678 190
74962351 191 <listitem><para>Takes a path to a disk image file or block device node. If specified,
15102ced
ZJS
192 <command>journalctl</command> will operate on the file system in the indicated disk image. This
193 option is similar to <option>--root=</option>, but operates on file systems stored in disk images or
194 block devices, thus providing an easy way to extract log data from disk images. The disk image should
74962351 195 either contain just a file system or a set of file systems within a GPT partition table, following
db811444 196 the <ulink url="https://uapi-group.org/specifications/specs/discoverable_partitions_specification">Discoverable Partitions
74962351
LP
197 Specification</ulink>. For further information on supported disk images, see
198 <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s
aefdc112
AK
199 switch of the same name.</para>
200
201 <xi:include href="version-info.xml" xpointer="v247"/></listitem>
49fba678
ZJS
202 </varlistentry>
203
9ea81191
LP
204 <xi:include href="standard-options.xml" xpointer="image-policy-open" />
205
49fba678 206 <varlistentry>
74962351 207 <term><option>--namespace=<replaceable>NAMESPACE</replaceable></option></term>
49fba678 208
74962351
LP
209 <listitem><para>Takes a journal namespace identifier string as argument. If not specified the data
210 collected by the default namespace is shown. If specified shows the log data of the specified
211 namespace instead. If the namespace is specified as <literal>*</literal> data from all namespaces is
212 shown, interleaved. If the namespace identifier is prefixed with <literal>+</literal> data from the
213 specified namespace and the default namespace is shown, interleaved, but no other. For details about
214 journal namespaces see
aefdc112
AK
215 <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
216
217 <xi:include href="version-info.xml" xpointer="v245"/></listitem>
49fba678 218 </varlistentry>
74962351
LP
219 </variablelist>
220 </refsect1>
49fba678 221
74962351
LP
222 <refsect1>
223 <title>Filtering Options</title>
224
225 <para>The following options control how to filter journal records:</para>
226
227 <variablelist>
49fba678 228 <varlistentry>
74962351
LP
229 <term><option>-S</option></term>
230 <term><option>--since=</option></term>
231 <term><option>-U</option></term>
232 <term><option>--until=</option></term>
49fba678 233
74962351
LP
234 <listitem><para>Start showing entries on or newer than the specified date, or on or older than the
235 specified date, respectively. Date specifications should be of the format <literal>2012-10-30
236 18:17:16</literal>. If the time part is omitted, <literal>00:00:00</literal> is assumed. If only
237 the seconds component is omitted, <literal>:00</literal> is assumed. If the date component is
238 omitted, the current day is assumed. Alternatively the strings <literal>yesterday</literal>,
239 <literal>today</literal>, <literal>tomorrow</literal> are understood, which refer to 00:00:00 of the
240 day before the current day, the current day, or the day after the current day,
241 respectively. <literal>now</literal> refers to the current time. Finally, relative times may be
242 specified, prefixed with <literal>-</literal> or <literal>+</literal>, referring to times before or
243 after the current time, respectively. For complete time and date specification, see
244 <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>. Note
245 that <option>--output=short-full</option> prints timestamps that follow precisely this format.
aefdc112
AK
246 </para>
247
248 <xi:include href="version-info.xml" xpointer="v195"/></listitem>
49fba678
ZJS
249 </varlistentry>
250
251 <varlistentry>
74962351
LP
252 <term><option>-c</option></term>
253 <term><option>--cursor=</option></term>
49fba678 254
74962351 255 <listitem><para>Start showing entries from the location in the journal specified by the passed
aefdc112
AK
256 cursor.</para>
257
258 <xi:include href="version-info.xml" xpointer="v193"/></listitem>
49fba678
ZJS
259 </varlistentry>
260
261 <varlistentry>
74962351 262 <term><option>--after-cursor=</option></term>
49fba678 263
74962351
LP
264 <listitem><para>Start showing entries from the location in the journal <emphasis>after</emphasis>
265 the location specified by the passed cursor. The cursor is shown when the
aefdc112
AK
266 <option>--show-cursor</option> option is used.</para>
267
268 <xi:include href="version-info.xml" xpointer="v206"/></listitem>
49fba678
ZJS
269 </varlistentry>
270
271 <varlistentry>
74962351 272 <term><option>--cursor-file=<replaceable>FILE</replaceable></option></term>
49fba678 273
74962351
LP
274 <listitem><para>If <replaceable>FILE</replaceable> exists and contains a cursor, start showing
275 entries <emphasis>after</emphasis> this location. Otherwise show entries according to the other
276 given options. At the end, write the cursor of the last entry to
277 <replaceable>FILE</replaceable>. Use this option to continually read the journal by sequentially
aefdc112
AK
278 calling <command>journalctl</command>.</para>
279
280 <xi:include href="version-info.xml" xpointer="v242"/></listitem>
74962351
LP
281 </varlistentry>
282
283 <varlistentry>
284 <term><option>-b <optional><optional><replaceable>ID</replaceable></optional><optional><replaceable>±offset</replaceable></optional>|<constant>all</constant></optional></option></term>
285 <term><option>--boot<optional>=<optional><replaceable>ID</replaceable></optional><optional><replaceable>±offset</replaceable></optional>|<constant>all</constant></optional></option></term>
286
287 <listitem><para>Show messages from a specific boot. This will add a match for
288 <literal>_BOOT_ID=</literal>.</para>
289
290 <para>The argument may be empty, in which case logs for the current boot will be shown.</para>
291
292 <para>If the boot ID is omitted, a positive <replaceable>offset</replaceable> will look up the boots
293 starting from the beginning of the journal, and an equal-or-less-than zero
294 <replaceable>offset</replaceable> will look up boots starting from the end of the journal. Thus,
295 <constant>1</constant> means the first boot found in the journal in chronological order,
296 <constant>2</constant> the second and so on; while <constant>-0</constant> is the last boot,
297 <constant>-1</constant> the boot before last, and so on. An empty <replaceable>offset</replaceable>
298 is equivalent to specifying <constant>-0</constant>, except when the current boot is not the last
12f25768 299 boot (e.g. because <option>--directory=</option> was specified to look at logs from a different
74962351 300 machine).</para>
49fba678 301
74962351
LP
302 <para>If the 32-character <replaceable>ID</replaceable> is specified, it may optionally be followed
303 by <replaceable>offset</replaceable> which identifies the boot relative to the one given by boot
304 <replaceable>ID</replaceable>. Negative values mean earlier boots and positive values mean later
305 boots. If <replaceable>offset</replaceable> is not specified, a value of zero is assumed, and the
306 logs for the boot given by <replaceable>ID</replaceable> are shown.</para>
307
308 <para>The special argument <constant>all</constant> can be used to negate the effect of an earlier
aefdc112
AK
309 use of <option>-b</option>.</para>
310
311 <xi:include href="version-info.xml" xpointer="v186"/></listitem>
49fba678
ZJS
312 </varlistentry>
313
314 <varlistentry>
315 <term><option>-u</option></term>
316 <term><option>--unit=<replaceable>UNIT</replaceable>|<replaceable>PATTERN</replaceable></option></term>
317
74962351
LP
318 <listitem><para>Show messages for the specified systemd unit <replaceable>UNIT</replaceable> (such as
319 a service unit), or for any of the units matched by <replaceable>PATTERN</replaceable>. If a pattern
320 is specified, a list of unit names found in the journal is compared with the specified pattern and
321 all that match are used. For each unit name, a match is added for messages from the unit
322 (<literal>_SYSTEMD_UNIT=<replaceable>UNIT</replaceable></literal>), along with additional matches for
323 messages from systemd and messages about coredumps for the specified unit. A match is also added for
324 <literal>_SYSTEMD_SLICE=<replaceable>UNIT</replaceable></literal>, such that if the provided
325 <replaceable>UNIT</replaceable> is a
0e4a4f56 326 <citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>
74962351 327 unit, all logs of children of the slice will be shown.</para>
49fba678 328
e754af35
LP
329 <para>With <option>--user</option>, all <option>--unit=</option> arguments will be converted to match
330 user messages as if specified with <option>--user-unit=</option>.</para>
3d218676 331
aefdc112
AK
332 <para>This parameter can be specified multiple times.</para>
333
334 <xi:include href="version-info.xml" xpointer="v195"/></listitem>
49fba678
ZJS
335 </varlistentry>
336
337 <varlistentry>
338 <term><option>--user-unit=</option></term>
339
74962351
LP
340 <listitem><para>Show messages for the specified user session unit. This will add a match for messages
341 from the unit (<literal>_SYSTEMD_USER_UNIT=</literal> and <literal>_UID=</literal>) and additional
342 matches for messages from session systemd and messages about coredumps for the specified unit. A
343 match is also added for <literal>_SYSTEMD_USER_SLICE=<replaceable>UNIT</replaceable></literal>, such
344 that if the provided <replaceable>UNIT</replaceable> is a
0e4a4f56 345 <citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>
e9dd6984 346 unit, all logs of children of the unit will be shown.</para>
49fba678 347
aefdc112
AK
348 <para>This parameter can be specified multiple times.</para>
349
350 <xi:include href="version-info.xml" xpointer="v198"/></listitem>
74962351
LP
351 </varlistentry>
352
353 <varlistentry>
354 <term><option>-t</option></term>
355 <term><option>--identifier=<replaceable>SYSLOG_IDENTIFIER</replaceable></option></term>
356
357 <listitem><para>Show messages for the specified syslog identifier
358 <replaceable>SYSLOG_IDENTIFIER</replaceable>.</para>
359
aefdc112
AK
360 <para>This parameter can be specified multiple times.</para>
361
362 <xi:include href="version-info.xml" xpointer="v217"/></listitem>
49fba678
ZJS
363 </varlistentry>
364
25aa35d4
SZ
365 <varlistentry>
366 <term><option>-T</option></term>
367 <term><option>--exclude-identifier=<replaceable>SYSLOG_IDENTIFIER</replaceable></option></term>
368
369 <listitem><para>Exclude messages for the specified syslog identifier
370 <replaceable>SYSLOG_IDENTIFIER</replaceable>.</para>
371
372 <para>This parameter can be specified multiple times.</para>
373
374 <xi:include href="version-info.xml" xpointer="v256"/></listitem>
375 </varlistentry>
376
49fba678
ZJS
377 <varlistentry>
378 <term><option>-p</option></term>
379 <term><option>--priority=</option></term>
380
74962351
LP
381 <listitem><para>Filter output by message priorities or priority ranges. Takes either a single numeric
382 or textual log level (i.e. between 0/<literal>emerg</literal> and 7/<literal>debug</literal>), or a
383 range of numeric/text log levels in the form FROM..TO. The log levels are the usual syslog log levels
384 as documented in <citerefentry
385 project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
386 i.e. <literal>emerg</literal> (0), <literal>alert</literal> (1), <literal>crit</literal> (2),
387 <literal>err</literal> (3), <literal>warning</literal> (4), <literal>notice</literal> (5),
388 <literal>info</literal> (6), <literal>debug</literal> (7). If a single log level is specified, all
389 messages with this log level or a lower (hence more important) log level are shown. If a range is
390 specified, all messages within the range are shown, including both the start and the end value of the
391 range. This will add <literal>PRIORITY=</literal> matches for the specified
aefdc112
AK
392 priorities.</para>
393
394 <xi:include href="version-info.xml" xpointer="v188"/></listitem>
49fba678
ZJS
395 </varlistentry>
396
196dedd5
ZJS
397 <varlistentry>
398 <term><option>--facility=</option></term>
399
74962351
LP
400 <listitem><para>Filter output by syslog facility. Takes a comma-separated list of numbers or
401 facility names. The names are the usual syslog facilities as documented in <citerefentry
402 project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
196dedd5 403 <option>--facility=help</option> may be used to display a list of known facility names and exit.
aefdc112
AK
404 </para>
405
406 <xi:include href="version-info.xml" xpointer="v245"/></listitem>
196dedd5
ZJS
407 </varlistentry>
408
6becf48c
ZJS
409 <varlistentry>
410 <term><option>-g</option></term>
411 <term><option>--grep=</option></term>
412
74962351
LP
413 <listitem><para>Filter output to entries where the <varname>MESSAGE=</varname> field matches the
414 specified regular expression. PERL-compatible regular expressions are used, see <citerefentry
415 project='url'><refentrytitle
416 url='http://pcre.org/current/doc/html/pcre2pattern.html'>pcre2pattern</refentrytitle><manvolnum>3</manvolnum></citerefentry>
61c5f8a1
ZJS
417 for a detailed description of the syntax.</para>
418
74962351
LP
419 <para>If the pattern is all lowercase, matching is case insensitive. Otherwise, matching is case
420 sensitive. This can be overridden with the <option>--case-sensitive</option> option, see
db469196
MY
421 below.</para>
422
8d6791d2 423 <para>When used with <option>--lines=</option> (not prefixed with <literal>+</literal>),
aefdc112
AK
424 <option>--reverse</option> is implied.</para>
425
426 <xi:include href="version-info.xml" xpointer="v237"/></listitem>
61c5f8a1
ZJS
427 </varlistentry>
428
429 <varlistentry>
430 <term><option>--case-sensitive<optional>=BOOLEAN</optional></option></term>
431
aefdc112
AK
432 <listitem><para>Make pattern matching case sensitive or case insensitive.</para>
433
434 <xi:include href="version-info.xml" xpointer="v237"/></listitem>
6becf48c
ZJS
435 </varlistentry>
436
49fba678 437 <varlistentry>
74962351
LP
438 <term><option>-k</option></term>
439 <term><option>--dmesg</option></term>
49fba678 440
74962351 441 <listitem><para>Show only kernel messages. This implies <option>-b</option> and adds the match
aefdc112
AK
442 <literal>_TRANSPORT=kernel</literal>.</para>
443
444 <xi:include href="version-info.xml" xpointer="v205"/></listitem>
74962351
LP
445 </varlistentry>
446 </variablelist>
447 </refsect1>
448
449 <refsect1>
450 <title>Output Options</title>
451
452 <para>The following options control how journal records are printed:</para>
453
454 <variablelist>
455 <varlistentry>
456 <term><option>-o</option></term>
457 <term><option>--output=</option></term>
458
459 <listitem><para>Controls the formatting of the journal entries that are shown. Takes one of the
460 following options:</para>
461
462 <variablelist>
463 <varlistentry>
464 <term><option>short</option></term>
465 <listitem><para>is the default and generates an output that is mostly identical to the
aefdc112
AK
466 formatting of classic syslog files, showing one line per journal entry.</para>
467
468 <xi:include href="version-info.xml" xpointer="v206"/></listitem>
74962351
LP
469 </varlistentry>
470
471 <varlistentry>
472 <term><option>short-full</option></term>
473 <listitem><para>is very similar, but shows timestamps in the format the
474 <option>--since=</option> and <option>--until=</option> options accept. Unlike the timestamp
475 information shown in <option>short</option> output mode this mode includes weekday, year and
aefdc112
AK
476 timezone information in the output, and is locale-independent.</para>
477
478 <xi:include href="version-info.xml" xpointer="v232"/></listitem>
74962351
LP
479 </varlistentry>
480
481 <varlistentry>
482 <term><option>short-iso</option></term>
0693e6b2 483 <listitem><para>is very similar, but shows timestamps in the
484 <ulink url="https://tools.ietf.org/html/rfc3339">RFC 3339</ulink> profile of ISO 8601.</para>
aefdc112
AK
485
486 <xi:include href="version-info.xml" xpointer="v206"/></listitem>
74962351
LP
487 </varlistentry>
488
489 <varlistentry>
490 <term><option>short-iso-precise</option></term>
491 <listitem><para>as for <option>short-iso</option> but includes full microsecond
aefdc112
AK
492 precision.</para>
493
494 <xi:include href="version-info.xml" xpointer="v234"/></listitem>
74962351
LP
495 </varlistentry>
496
497 <varlistentry>
498 <term><option>short-precise</option></term>
499 <listitem><para>is very similar, but shows classic syslog timestamps with full microsecond
aefdc112
AK
500 precision.</para>
501
502 <xi:include href="version-info.xml" xpointer="v207"/></listitem>
74962351
LP
503 </varlistentry>
504
505 <varlistentry>
506 <term><option>short-monotonic</option></term>
507 <listitem><para>is very similar, but shows monotonic timestamps instead of wallclock
aefdc112
AK
508 timestamps.</para>
509
510 <xi:include href="version-info.xml" xpointer="v206"/></listitem>
74962351 511 </varlistentry>
893bcd3d
DB
512
513 <varlistentry>
514 <term><option>short-delta</option></term>
515 <listitem><para>as for <option>short-monotonic</option> but includes the time difference
516 to the previous entry.
ec07c3c8
AK
517 Maybe unreliable time differences are marked by a <literal>*</literal>.</para>
518
519 <xi:include href="version-info.xml" xpointer="v252"/></listitem>
893bcd3d 520 </varlistentry>
74962351
LP
521
522 <varlistentry>
523 <term><option>short-unix</option></term>
524 <listitem><para>is very similar, but shows seconds passed since January 1st 1970 UTC instead of
aefdc112
AK
525 wallclock timestamps ("UNIX time"). The time is shown with microsecond accuracy.</para>
526
527 <xi:include href="version-info.xml" xpointer="v230"/></listitem>
74962351
LP
528 </varlistentry>
529
530 <varlistentry>
531 <term><option>verbose</option></term>
aefdc112
AK
532 <listitem><para>shows the full-structured entry items with all fields.</para>
533
534 <xi:include href="version-info.xml" xpointer="v206"/></listitem>
74962351
LP
535 </varlistentry>
536
537 <varlistentry>
538 <term><option>export</option></term>
539 <listitem><para>serializes the journal into a binary (but mostly text-based) stream suitable
540 for backups and network transfer (see <ulink
541 url="https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format">Journal Export
542 Format</ulink> for more information). To import the binary stream back into native journald
543 format use
aefdc112
AK
544 <citerefentry><refentrytitle>systemd-journal-remote</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
545
546 <xi:include href="version-info.xml" xpointer="v206"/></listitem>
74962351
LP
547 </varlistentry>
548
549 <varlistentry>
550 <term><option>json</option></term>
551 <listitem><para>formats entries as JSON objects, separated by newline characters (see <ulink
552 url="https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-json-format">Journal JSON Format</ulink>
553 for more information). Field values are generally encoded as JSON strings, with three exceptions:
554 <orderedlist>
555 <listitem><para>Fields larger than 4096 bytes are encoded as <constant>null</constant>
556 values. (This may be turned off by passing <option>--all</option>, but be aware that this may
557 allocate overly long JSON objects.)</para></listitem>
558
559 <listitem><para>Journal entries permit non-unique fields within the same log entry. JSON does
560 not allow non-unique fields within objects. Due to this, if a non-unique field is encountered a
561 JSON array is used as field value, listing all field values as elements.</para></listitem>
562
563 <listitem><para>Fields containing non-printable or non-UTF8 bytes are encoded as arrays
564 containing the raw bytes individually formatted as unsigned numbers.</para></listitem>
565 </orderedlist>
566
aefdc112
AK
567 Note that this encoding is reversible (with the exception of the size limit).</para>
568
569 <xi:include href="version-info.xml" xpointer="v206"/></listitem>
74962351
LP
570 </varlistentry>
571
572 <varlistentry>
573 <term><option>json-pretty</option></term>
574 <listitem><para>formats entries as JSON data structures, but formats them in multiple lines in
aefdc112
AK
575 order to make them more readable by humans.</para>
576
577 <xi:include href="version-info.xml" xpointer="v206"/></listitem>
74962351
LP
578 </varlistentry>
579
580 <varlistentry>
581 <term><option>json-sse</option></term>
582 <listitem><para>formats entries as JSON data structures, but wraps them in a format suitable for
583 <ulink
584 url="https://developer.mozilla.org/en-US/docs/Server-sent_events/Using_server-sent_events">Server-Sent
aefdc112
AK
585 Events</ulink>.</para>
586
587 <xi:include href="version-info.xml" xpointer="v206"/></listitem>
74962351
LP
588 </varlistentry>
589
590 <varlistentry>
591 <term><option>json-seq</option></term>
592 <listitem><para>formats entries as JSON data structures, but prefixes them with an ASCII Record
593 Separator character (0x1E) and suffixes them with an ASCII Line Feed character (0x0A), in
594 accordance with <ulink url="https://tools.ietf.org/html/rfc7464">JavaScript Object Notation
aefdc112
AK
595 (JSON) Text Sequences </ulink> (<literal>application/json-seq</literal>).</para>
596
597 <xi:include href="version-info.xml" xpointer="v240"/></listitem>
74962351
LP
598 </varlistentry>
599
600 <varlistentry>
601 <term><option>cat</option></term>
602 <listitem><para>generates a very terse output, only showing the actual message of each journal
603 entry with no metadata, not even a timestamp. If combined with the
604 <option>--output-fields=</option> option will output the listed fields for each log record,
aefdc112
AK
605 instead of the message.</para>
606
607 <xi:include href="version-info.xml" xpointer="v206"/></listitem>
74962351
LP
608 </varlistentry>
609
610 <varlistentry>
611 <term><option>with-unit</option></term>
15102ced
ZJS
612 <listitem><para>similar to <option>short-full</option>, but prefixes the unit and user unit names
613 instead of the traditional syslog identifier. Useful when using templated instances, as it will
aefdc112
AK
614 include the arguments in the unit names.</para>
615
616 <xi:include href="version-info.xml" xpointer="v239"/></listitem>
74962351
LP
617 </varlistentry>
618 </variablelist></listitem>
49fba678
ZJS
619 </varlistentry>
620
bf83c670 621 <varlistentry>
622 <term><option>--truncate-newline</option></term>
623
624 <listitem><para>Truncate each log message at the first newline character on output, so that only the
625 first line of each message is displayed.</para>
626
627 <xi:include href="version-info.xml" xpointer="v254"/></listitem>
628 </varlistentry>
629
d9e15cbd 630 <varlistentry>
74962351 631 <term><option>--output-fields=</option></term>
d9e15cbd 632
74962351
LP
633 <listitem><para>A comma separated list of the fields which should be included in the output. This
634 has an effect only for the output modes which would normally show all fields
635 (<option>verbose</option>, <option>export</option>, <option>json</option>,
636 <option>json-pretty</option>, <option>json-sse</option> and <option>json-seq</option>), as well as
637 on <option>cat</option>. For the former, the <literal>__CURSOR</literal>,
638 <literal>__REALTIME_TIMESTAMP</literal>, <literal>__MONOTONIC_TIMESTAMP</literal>, and
aefdc112
AK
639 <literal>_BOOT_ID</literal> fields are always printed.</para>
640
641 <xi:include href="version-info.xml" xpointer="v236"/></listitem>
d9e15cbd
JS
642 </varlistentry>
643
49fba678 644 <varlistentry>
74962351
LP
645 <term><option>-n</option></term>
646 <term><option>--lines=</option></term>
49fba678 647
8d6791d2
MY
648 <listitem><para>Show the most recent journal events and limit the number of events shown. The argument
649 is a positive integer or <literal>all</literal> to disable the limit. Additionally, if the number is
650 prefixed with <literal>+</literal>, the oldest journal events are used instead. The default value is
651 10 if no argument is given.</para>
db469196 652
8d6791d2
MY
653 <para>If <option>--follow</option> is used, this option is implied. When not prefixed with <literal>+</literal>
654 and used with <option>--grep=</option>, <option>--reverse</option> is implied.</para></listitem>
49fba678
ZJS
655 </varlistentry>
656
657 <varlistentry>
74962351
LP
658 <term><option>-r</option></term>
659 <term><option>--reverse</option></term>
49fba678 660
aefdc112
AK
661 <listitem><para>Reverse output so that the newest entries are displayed first.</para>
662
663 <xi:include href="version-info.xml" xpointer="v198"/></listitem>
49fba678
ZJS
664 </varlistentry>
665
666 <varlistentry>
74962351 667 <term><option>--show-cursor</option></term>
49fba678 668
74962351
LP
669 <listitem><para>The cursor is shown after the last entry after two dashes:</para>
670 <programlisting>-- cursor: s=0639…</programlisting>
aefdc112
AK
671 <para>The format of the cursor is private and subject to change.</para>
672
673 <xi:include href="version-info.xml" xpointer="v209"/></listitem>
49fba678
ZJS
674 </varlistentry>
675
676 <varlistentry>
74962351 677 <term><option>--utc</option></term>
49fba678 678
aefdc112
AK
679 <listitem><para>Express time in Coordinated Universal Time (UTC).</para>
680
681 <xi:include href="version-info.xml" xpointer="v217"/></listitem>
49fba678
ZJS
682 </varlistentry>
683
69e714f3 684 <varlistentry>
74962351
LP
685 <term><option>-x</option></term>
686 <term><option>--catalog</option></term>
69e714f3 687
74962351
LP
688 <listitem><para>Augment log lines with explanation texts from the message catalog. This will add
689 explanatory help texts to log messages in the output where this is available. These short help texts
690 will explain the context of an error or log event, possible solutions, as well as pointers to support
691 forums, developer documentation, and any other relevant manuals. Note that help texts are not
692 available for all messages, but only for selected ones. For more information on the message catalog,
693 please refer to the <ulink url="https://www.freedesktop.org/wiki/Software/systemd/catalog">Message
694 Catalog Developer Documentation</ulink>.</para>
695
696 <para>Note: when attaching <command>journalctl</command> output to bug reports, please do
aefdc112
AK
697 <emphasis>not</emphasis> use <option>-x</option>.</para>
698
699 <xi:include href="version-info.xml" xpointer="v196"/></listitem>
69e714f3
LP
700 </varlistentry>
701
49fba678 702 <varlistentry>
74962351 703 <term><option>--no-hostname</option></term>
49fba678 704
74962351
LP
705 <listitem><para>Don't show the hostname field of log messages originating from the local host. This
706 switch has an effect only on the <option>short</option> family of output modes (see above).</para>
707
708 <para>Note: this option does not remove occurrences of the hostname from log entries themselves, so
aefdc112
AK
709 it does not prevent the hostname from being visible in the logs.</para>
710
711 <xi:include href="version-info.xml" xpointer="v230"/></listitem>
49fba678
ZJS
712 </varlistentry>
713
714 <varlistentry>
74962351
LP
715 <term><option>--no-full</option></term>
716 <term><option>--full</option></term>
717 <term><option>-l</option></term>
49fba678 718
74962351
LP
719 <listitem><para>Ellipsize fields when they do not fit in available columns. The default is to show
720 full fields, allowing them to wrap or be truncated by the pager, if one is used.</para>
721
722 <para>The old options <option>-l</option>/<option>--full</option> are not useful anymore, except to
aefdc112
AK
723 undo <option>--no-full</option>.</para>
724
725 <xi:include href="version-info.xml" xpointer="v196"/></listitem>
49fba678
ZJS
726 </varlistentry>
727
728 <varlistentry>
74962351
LP
729 <term><option>-a</option></term>
730 <term><option>--all</option></term>
49fba678 731
74962351
LP
732 <listitem><para>Show all fields in full, even if they include unprintable characters or are very
733 long. By default, fields with unprintable characters are abbreviated as "blob data". (Note that the
734 pager may escape unprintable characters again.)</para></listitem>
49fba678
ZJS
735 </varlistentry>
736
737 <varlistentry>
74962351
LP
738 <term><option>-f</option></term>
739 <term><option>--follow</option></term>
49fba678 740
74962351
LP
741 <listitem><para>Show only the most recent journal entries, and continuously print new entries as
742 they are appended to the journal.</para></listitem>
49fba678
ZJS
743 </varlistentry>
744
745 <varlistentry>
74962351 746 <term><option>--no-tail</option></term>
49fba678 747
74962351
LP
748 <listitem><para>Show all stored output lines, even in follow mode. Undoes the effect of
749 <option>--lines=</option>.</para></listitem>
49fba678
ZJS
750 </varlistentry>
751
71b1d2de 752 <varlistentry>
74962351
LP
753 <term><option>-q</option></term>
754 <term><option>--quiet</option></term>
71b1d2de 755
74962351
LP
756 <listitem><para>Suppresses all informational messages (i.e. "-- Journal begins at …", "-- Reboot
757 --"), any warning messages regarding inaccessible system journals when run as a normal
758 user.</para></listitem>
71b1d2de 759 </varlistentry>
74962351
LP
760 </variablelist>
761 </refsect1>
762
763 <refsect1>
764 <title>Pager Control Options</title>
765
766 <para>The following options control page support:</para>
767
768 <variablelist>
769
770 <xi:include href="standard-options.xml" xpointer="no-pager" />
71b1d2de 771
2b6b8bd3 772 <varlistentry>
74962351
LP
773 <term><option>-e</option></term>
774 <term><option>--pager-end</option></term>
2b6b8bd3 775
74962351
LP
776 <listitem><para>Immediately jump to the end of the journal inside the implied pager tool. This
777 implies <option>-n1000</option> to guarantee that the pager will not buffer logs of unbounded
778 size. This may be overridden with an explicit <option>-n</option> with some other numeric value,
779 while <option>-nall</option> will disable this cap. Note that this option is only supported for
780 the <citerefentry
781 project='man-pages'><refentrytitle>less</refentrytitle><manvolnum>1</manvolnum></citerefentry>
aefdc112
AK
782 pager.</para>
783
784 <xi:include href="version-info.xml" xpointer="v198"/></listitem>
2b6b8bd3 785 </varlistentry>
74962351
LP
786 </variablelist>
787 </refsect1>
2b6b8bd3 788
74962351
LP
789 <refsect1>
790 <title>Forward Secure Sealing (FSS) Options</title>
49fba678 791
8b9f0921
ZJS
792 <para>The following options may be used together with the <option>--setup-keys</option> command described
793 below:</para>
367a5e8a 794
74962351
LP
795 <variablelist>
796 <varlistentry>
797 <term><option>--interval=</option></term>
798
799 <listitem><para>Specifies the change interval for the sealing key when generating an FSS key pair
800 with <option>--setup-keys</option>. Shorter intervals increase CPU consumption but shorten the time
aefdc112
AK
801 range of undetectable journal alterations. Defaults to 15min.</para>
802
803 <xi:include href="version-info.xml" xpointer="v189"/></listitem>
49fba678
ZJS
804 </varlistentry>
805
806 <varlistentry>
74962351 807 <term><option>--verify-key=</option></term>
49fba678 808
74962351 809 <listitem><para>Specifies the FSS verification key to use for the <option>--verify</option>
aefdc112
AK
810 operation.</para>
811
812 <xi:include href="version-info.xml" xpointer="v189"/></listitem>
49fba678
ZJS
813 </varlistentry>
814
815 <varlistentry>
74962351 816 <term><option>--force</option></term>
49fba678 817
74962351 818 <listitem><para>When <option>--setup-keys</option> is passed and Forward Secure Sealing (FSS) has
aefdc112
AK
819 already been configured, recreate FSS keys.</para>
820
821 <xi:include href="version-info.xml" xpointer="v206"/></listitem>
49fba678 822 </varlistentry>
74962351
LP
823 </variablelist>
824 </refsect1>
49fba678 825
74962351
LP
826 <refsect1>
827 <title>Commands</title>
49fba678 828
cc59d101 829 <para>The following commands are understood. If none is specified the default is to display journal records:</para>
49fba678 830
74962351
LP
831 <variablelist>
832 <varlistentry>
833 <term><option>-N</option></term>
834 <term><option>--fields</option></term>
835
aefdc112
AK
836 <listitem><para>Print all field names currently used in all entries of the journal.</para>
837
838 <xi:include href="version-info.xml" xpointer="v229"/></listitem>
49fba678
ZJS
839 </varlistentry>
840
841 <varlistentry>
74962351
LP
842 <term><option>-F</option></term>
843 <term><option>--field=</option></term>
49fba678 844
74962351 845 <listitem><para>Print all possible data values the specified field can take in all entries of the
aefdc112
AK
846 journal.</para>
847
848 <xi:include href="version-info.xml" xpointer="v195"/></listitem>
49fba678
ZJS
849 </varlistentry>
850
851 <varlistentry>
74962351 852 <term><option>--list-boots</option></term>
49fba678 853
74962351 854 <listitem><para>Show a tabular list of boot numbers (relative to the current boot), their IDs, and
aefdc112
AK
855 the timestamps of the first and last message pertaining to the boot.</para>
856
857 <xi:include href="version-info.xml" xpointer="v209"/></listitem>
49fba678
ZJS
858 </varlistentry>
859
860 <varlistentry>
74962351 861 <term><option>--disk-usage</option></term>
49fba678 862
74962351 863 <listitem><para>Shows the current disk usage of all journal files. This shows the sum of the disk
aefdc112
AK
864 usage of all archived and active journal files.</para>
865
866 <xi:include href="version-info.xml" xpointer="v190"/></listitem>
49fba678
ZJS
867 </varlistentry>
868
869 <varlistentry>
74962351
LP
870 <term><option>--vacuum-size=</option></term>
871 <term><option>--vacuum-time=</option></term>
872 <term><option>--vacuum-files=</option></term>
49fba678 873
5c193a7c
AB
874 <listitem><para><option>--vacuum-size=</option> removes the oldest archived journal files until the
875 disk space they use falls below the specified size. Accepts the usual <literal>K</literal>,
876 <literal>M</literal>, <literal>G</literal> and <literal>T</literal> suffixes (to the base of
877 1024).</para>
878
879 <para><option>--vacuum-time=</option> removes archived journal files older than the specified
880 timespan. Accepts the usual <literal>s</literal> (default), <literal>m</literal>,
bf63dadb 881 <literal>h</literal>, <literal>days</literal>, <literal>weeks</literal>, <literal>months</literal>,
5c193a7c
AB
882 and <literal>years</literal> suffixes, see
883 <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry> for
884 details.</para>
885
886 <para><option>--vacuum-files=</option> leaves only the specified number of separate journal
887 files.</para>
888
889 <para>Note that running <option>--vacuum-size=</option> has only an indirect effect on the output
890 shown by <option>--disk-usage</option>, as the latter includes active journal files, while the
891 vacuuming operation only operates on archived journal files. Similarly,
892 <option>--vacuum-files=</option> might not actually reduce the number of journal files to below the
893 specified number, as it will not remove active journal files.</para>
74962351
LP
894
895 <para><option>--vacuum-size=</option>, <option>--vacuum-time=</option> and
5c193a7c
AB
896 <option>--vacuum-files=</option> may be combined in a single invocation to enforce any combination of
897 a size, a time and a number of files limit on the archived journal files. Specifying any of these
898 three parameters as zero is equivalent to not enforcing the specific limit, and is thus
74962351
LP
899 redundant.</para>
900
901 <para>These three switches may also be combined with <option>--rotate</option> into one command. If
902 so, all active files are rotated first, and the requested vacuuming operation is executed right
903 after. The rotation has the effect that all currently active files are archived (and potentially new,
904 empty journal files opened as replacement), and hence the vacuuming operation has the greatest effect
aefdc112
AK
905 as it can take all log data written so far into account.</para>
906
907 <xi:include href="version-info.xml" xpointer="v218"/></listitem>
49fba678
ZJS
908 </varlistentry>
909
910 <varlistentry>
74962351 911 <term><option>--verify</option></term>
cbdca852 912
74962351
LP
913 <listitem><para>Check the journal file for internal consistency. If the file has been generated
914 with FSS enabled and the FSS verification key has been specified with
aefdc112
AK
915 <option>--verify-key=</option>, authenticity of the journal file is verified.</para>
916
917 <xi:include href="version-info.xml" xpointer="v189"/></listitem>
49fba678
ZJS
918 </varlistentry>
919
920 <varlistentry>
74962351 921 <term><option>--sync</option></term>
49fba678 922
74962351
LP
923 <listitem><para>Asks the journal daemon to write all yet unwritten journal data to the backing file
924 system and synchronize all journals. This call does not return until the synchronization operation
925 is complete. This command guarantees that any log messages written before its invocation are safely
aefdc112
AK
926 stored on disk at the time it returns.</para>
927
928 <xi:include href="version-info.xml" xpointer="v228"/></listitem>
49fba678
ZJS
929 </varlistentry>
930
931 <varlistentry>
74962351 932 <term><option>--relinquish-var</option></term>
49fba678 933
74962351
LP
934 <listitem><para>Asks the journal daemon for the reverse operation to <option>--flush</option>: if
935 requested the daemon will write further log data to <filename>/run/log/journal/</filename> and
936 stops writing to <filename>/var/log/journal/</filename>. A subsequent call to
937 <option>--flush</option> causes the log output to switch back to
aefdc112
AK
938 <filename>/var/log/journal/</filename>, see above.</para>
939
940 <xi:include href="version-info.xml" xpointer="v243"/></listitem>
49fba678
ZJS
941 </varlistentry>
942
94b65516 943 <varlistentry>
74962351 944 <term><option>--smart-relinquish-var</option></term>
94b65516 945
15102ced 946 <listitem><para>Similar to <option>--relinquish-var</option>, but executes no operation if the root
653c90ec 947 file system and <filename>/var/log/journal/</filename> reside on the same mount point. This operation
15102ced
ZJS
948 is used during system shutdown in order to make the journal daemon stop writing data to
949 <filename>/var/log/journal/</filename> in case that directory is located on a mount point that needs
aefdc112
AK
950 to be unmounted.</para>
951
952 <xi:include href="version-info.xml" xpointer="v243"/></listitem>
94b65516
LP
953 </varlistentry>
954
49fba678
ZJS
955 <varlistentry>
956 <term><option>--flush</option></term>
957
3ff7a50d
LP
958 <listitem><para>Asks the journal daemon to flush any log data stored in
959 <filename>/run/log/journal/</filename> into <filename>/var/log/journal/</filename>, if persistent
960 storage is enabled. This call does not return until the operation is complete. Note that this call is
961 idempotent: the data is only flushed from <filename>/run/log/journal/</filename> into
e9dd6984 962 <filename>/var/log/journal/</filename> once during system runtime (but see
3ff7a50d
LP
963 <option>--relinquish-var</option> below), and this command exits cleanly without executing any
964 operation if this has already happened. This command effectively guarantees that all data is flushed
aefdc112
AK
965 to <filename>/var/log/journal/</filename> at the time it returns.</para>
966
967 <xi:include href="version-info.xml" xpointer="v217"/></listitem>
3ff7a50d
LP
968 </varlistentry>
969
970 <varlistentry>
74962351 971 <term><option>--rotate</option></term>
3ff7a50d 972
74962351
LP
973 <listitem><para>Asks the journal daemon to rotate journal files. This call does not return until
974 the rotation operation is complete. Journal file rotation has the effect that all currently active
975 journal files are marked as archived and renamed, so that they are never written to in future. New
976 (empty) journal files are then created in their place. This operation may be combined with
977 <option>--vacuum-size=</option>, <option>--vacuum-time=</option> and
aefdc112
AK
978 <option>--vacuum-file=</option> into a single command, see above.</para>
979
980 <xi:include href="version-info.xml" xpointer="v227"/></listitem>
3ff7a50d
LP
981 </varlistentry>
982
983 <varlistentry>
74962351
LP
984 <term><option>--header</option></term>
985
986 <listitem><para>Instead of showing journal contents, show internal header information of the
987 journal fields accessed.</para>
3ff7a50d 988
74962351 989 <para>This option is particularly useful when trying to identify out-of-order journal entries, as
aefdc112
AK
990 happens for example when the machine is booted with the wrong system time.</para>
991
992 <xi:include href="version-info.xml" xpointer="v187"/></listitem>
49fba678 993 </varlistentry>
cbdca852 994
b92eb84c 995 <varlistentry>
74962351
LP
996 <term><option>--list-catalog <optional><replaceable>128-bit-ID…</replaceable></optional></option></term>
997
998 <listitem><para>List the contents of the message catalog as a table of message IDs, plus their
999 short description strings.</para>
1000
1001 <para>If any <replaceable>128-bit-ID</replaceable>s are specified, only those entries are
aefdc112
AK
1002 shown.</para>
1003
1004 <xi:include href="version-info.xml" xpointer="v196"/></listitem>
74962351
LP
1005 </varlistentry>
1006
1007 <varlistentry>
1008 <term><option>--dump-catalog <optional><replaceable>128-bit-ID…</replaceable></optional></option></term>
1009
1010 <listitem><para>Show the contents of the message catalog, with entries separated by a line
1011 consisting of two dashes and the ID (the format is the same as <filename>.catalog</filename>
1012 files).</para>
b92eb84c 1013
74962351 1014 <para>If any <replaceable>128-bit-ID</replaceable>s are specified, only those entries are
aefdc112
AK
1015 shown.</para>
1016
1017 <xi:include href="version-info.xml" xpointer="v199"/></listitem>
74962351
LP
1018 </varlistentry>
1019
1020 <varlistentry>
1021 <term><option>--update-catalog</option></term>
1022
1023 <listitem><para>Update the message catalog index. This command needs to be executed each time new
1024 catalog files are installed, removed, or updated to rebuild the binary catalog
aefdc112
AK
1025 index.</para>
1026
1027 <xi:include href="version-info.xml" xpointer="v196"/></listitem>
74962351
LP
1028 </varlistentry>
1029
1030 <varlistentry>
1031 <term><option>--setup-keys</option></term>
1032
1033 <listitem><para>Instead of showing journal contents, generate a new key pair for Forward Secure
1034 Sealing (FSS). This will generate a sealing key and a verification key. The sealing key is stored in
1035 the journal data directory and shall remain on the host. The verification key should be stored
1036 externally. Refer to the <option>Seal=</option> option in
1037 <citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> for
1038 information on Forward Secure Sealing and for a link to a refereed scholarly paper detailing the
aefdc112
AK
1039 cryptographic theory it is based on.</para>
1040
1041 <xi:include href="version-info.xml" xpointer="v189"/></listitem>
b92eb84c 1042 </varlistentry>
dbd6e31c 1043
49fba678
ZJS
1044 <xi:include href="standard-options.xml" xpointer="help" />
1045 <xi:include href="standard-options.xml" xpointer="version" />
49fba678
ZJS
1046 </variablelist>
1047 </refsect1>
cbdca852 1048
49fba678
ZJS
1049 <refsect1>
1050 <title>Exit status</title>
cbdca852 1051
74962351 1052 <para>On success, 0 is returned; otherwise, a non-zero failure code is returned.</para>
49fba678 1053 </refsect1>
cbdca852 1054
4ef3ca34 1055 <xi:include href="common-variables.xml" />
cbdca852 1056
49fba678
ZJS
1057 <refsect1>
1058 <title>Examples</title>
b6a34514 1059
74962351 1060 <para>Without arguments, all collected logs are shown unfiltered:</para>
b6a34514 1061
49fba678 1062 <programlisting>journalctl</programlisting>
b6a34514 1063
74962351 1064 <para>With one match specified, all entries with a field matching the expression are shown:</para>
b6a34514 1065
b3e4e23e
ZJS
1066 <programlisting>journalctl _SYSTEMD_UNIT=avahi-daemon.service
1067journalctl _SYSTEMD_CGROUP=/user.slice/user-42.slice/session-c1.scope</programlisting>
a331b5e6 1068
74962351
LP
1069 <para>If two different fields are matched, only entries matching both expressions at the same time are
1070 shown:</para>
a331b5e6 1071
49fba678 1072 <programlisting>journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097</programlisting>
a1d4404f 1073
74962351 1074 <para>If two matches refer to the same field, all entries matching either expression are shown:</para>
a1d4404f 1075
49fba678 1076 <programlisting>journalctl _SYSTEMD_UNIT=avahi-daemon.service _SYSTEMD_UNIT=dbus.service</programlisting>
cbdca852 1077
74962351
LP
1078 <para>If the separator <literal>+</literal> is used, two expressions may be combined in a logical OR. The
1079 following will show all messages from the Avahi service process with the PID 28097 plus all messages from
1080 the D-Bus service (from any of its processes):</para>
49fba678
ZJS
1081
1082 <programlisting>journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097 + _SYSTEMD_UNIT=dbus.service</programlisting>
1083
74962351
LP
1084 <para>To show all fields emitted <emphasis>by</emphasis> a unit and <emphasis>about</emphasis> the unit,
1085 option <option>-u</option>/<option>--unit=</option> should be used. <command>journalctl -u
1086 <replaceable>name</replaceable></command> expands to a complex filter similar to
1087
b3e4e23e
ZJS
1088 <programlisting>_SYSTEMD_UNIT=<replaceable>name</replaceable>.service
1089 + UNIT=<replaceable>name</replaceable>.service _PID=1
1090 + OBJECT_SYSTEMD_UNIT=<replaceable>name</replaceable>.service _UID=0
74962351
LP
1091 + COREDUMP_UNIT=<replaceable>name</replaceable>.service _UID=0 MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1</programlisting>
1092
1093 (see
1094 <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>
1095 for an explanation of those patterns).</para>
b3e4e23e 1096
49fba678
ZJS
1097 <para>Show all logs generated by the D-Bus executable:</para>
1098
1099 <programlisting>journalctl /usr/bin/dbus-daemon</programlisting>
1100
49fba678
ZJS
1101 <para>Show all kernel logs from previous boot:</para>
1102
1103 <programlisting>journalctl -k -b -1</programlisting>
1104
74962351 1105 <para>Show a live log display from a system service <filename>apache.service</filename>:</para>
49fba678
ZJS
1106
1107 <programlisting>journalctl -f -u apache</programlisting>
49fba678 1108 </refsect1>
2af777ba 1109
49fba678
ZJS
1110 <refsect1>
1111 <title>See Also</title>
13a69c12
DT
1112 <para><simplelist type="inline">
1113 <member><citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
1114 <member><citerefentry><refentrytitle>systemd-cat</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
1115 <member><citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
1116 <member><citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
1117 <member><citerefentry><refentrytitle>coredumpctl</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
1118 <member><citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry></member>
1119 <member><citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry></member>
1120 <member><citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry></member>
1121 <member><citerefentry><refentrytitle>systemd-journal-remote.service</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
1122 <member><citerefentry><refentrytitle>systemd-journal-upload.service</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
1123 </simplelist></para>
49fba678 1124 </refsect1>
2af777ba 1125</refentry>