]> git.ipfire.org Git - thirdparty/systemd.git/blob - man/journalctl.xml
ca933645a925915cd2beb3be964cdc6ac52ba192
[thirdparty/systemd.git] / man / journalctl.xml
1 <?xml version='1.0'?> <!--*-nxml-*-->
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4
5 <!--
6 This file is part of systemd.
7
8 Copyright 2012 Lennart Poettering
9
10 systemd is free software; you can redistribute it and/or modify it
11 under the terms of the GNU Lesser General Public License as published by
12 the Free Software Foundation; either version 2.1 of the License, or
13 (at your option) any later version.
14
15 systemd is distributed in the hope that it will be useful, but
16 WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 Lesser General Public License for more details.
19
20 You should have received a copy of the GNU Lesser General Public License
21 along with systemd; If not, see <http://www.gnu.org/licenses/>.
22 -->
23
24 <refentry id="journalctl"
25 xmlns:xi="http://www.w3.org/2001/XInclude">
26
27 <refentryinfo>
28 <title>journalctl</title>
29 <productname>systemd</productname>
30
31 <authorgroup>
32 <author>
33 <contrib>Developer</contrib>
34 <firstname>Lennart</firstname>
35 <surname>Poettering</surname>
36 <email>lennart@poettering.net</email>
37 </author>
38 </authorgroup>
39 </refentryinfo>
40
41 <refmeta>
42 <refentrytitle>journalctl</refentrytitle>
43 <manvolnum>1</manvolnum>
44 </refmeta>
45
46 <refnamediv>
47 <refname>journalctl</refname>
48 <refpurpose>Query the systemd journal</refpurpose>
49 </refnamediv>
50
51 <refsynopsisdiv>
52 <cmdsynopsis>
53 <command>journalctl</command>
54 <arg choice="opt" rep="repeat">OPTIONS</arg>
55 <arg choice="opt" rep="repeat">MATCHES</arg>
56 </cmdsynopsis>
57 </refsynopsisdiv>
58
59 <refsect1>
60 <title>Description</title>
61
62 <para><command>journalctl</command> may be used to query the
63 contents of the
64 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
65 journal as written by
66 <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
67
68 <para>If called without parameters, it will show the full
69 contents of the journal, starting with the oldest entry
70 collected.</para>
71
72 <para>If one or more match arguments are passed, the output is
73 filtered accordingly. A match is in the format
74 <literal>FIELD=VALUE</literal>,
75 e.g. <literal>_SYSTEMD_UNIT=httpd.service</literal>, referring
76 to the components of a structured journal entry. See
77 <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>
78 for a list of well-known fields. If multiple matches are
79 specified matching different fields, the log entries are
80 filtered by both, i.e. the resulting output will show only
81 entries matching all the specified matches of this kind. If two
82 matches apply to the same field, then they are automatically
83 matched as alternatives, i.e. the resulting output will show
84 entries matching any of the specified matches for the same
85 field. Finally, the character <literal>+</literal> may appears
86 as a separate word between other terms on the command line. This
87 causes all matches before and after to be combined in a
88 disjunction (i.e. logical OR).</para>
89
90 <para>As shortcuts for a few types of field/value matches, file
91 paths may be specified. If a file path refers to an executable
92 file, this is equivalent to an <literal>_EXE=</literal> match
93 for the canonicalized binary path. Similarly, if a path refers
94 to a device node, this is equivalent to a
95 <literal>_KERNEL_DEVICE=</literal> match for the device.</para>
96
97 <para>Additional constraints may be added using options
98 <option>--boot</option>, <option>--unit=</option>, etc, to
99 further limit what entries will be shown (logical AND).</para>
100
101 <para>Output is interleaved from all accessible journal files,
102 whether they are rotated or currently being written, and
103 regardless of whether they belong to the system itself or are
104 accessible user journals.</para>
105
106 <para>The set of journal files which will be used can be
107 modified using the <option>--user</option>,
108 <option>--system</option>, <option>--directory</option>, and
109 <option>--file</option> options, see below.</para>
110
111 <para>All users are granted access to their private per-user
112 journals. However, by default, only root and users who are
113 members of a few special groups are granted access to the system
114 journal and the journals of other users. Members of the groups
115 <literal>systemd-journal</literal>, <literal>adm</literal>, and
116 <literal>wheel</literal> can read all journal files. Note
117 that the two latter groups traditionally have additional
118 privileges specified by the distribution. Members of the
119 <literal>wheel</literal> group can often perform administrative
120 tasks.</para>
121
122 <para>The output is paged through <command>less</command> by
123 default, and long lines are "truncated" to screen width. The
124 hidden part can be viewed by using the left-arrow and
125 right-arrow keys. Paging can be disabled; see the
126 <option>--no-pager</option> option and the "Environment" section
127 below.</para>
128
129 <para>When outputting to a tty, lines are colored according to
130 priority: lines of level ERROR and higher are colored red; lines
131 of level NOTICE and higher are highlighted; other lines are
132 displayed normally.</para>
133 </refsect1>
134
135 <refsect1>
136 <title>Options</title>
137
138 <para>The following options are understood:</para>
139
140 <variablelist>
141 <varlistentry>
142 <term><option>--no-full</option></term>
143 <term><option>--full</option></term>
144 <term><option>-l</option></term>
145
146 <listitem><para>Ellipsize fields when they do not fit in
147 available columns. The default is to show full fields,
148 allowing them to wrap or be truncated by the pager, if one
149 is used.</para>
150
151 <para>The old options
152 <option>-l</option>/<option>--full</option> are not useful
153 anymore, except to undo <option>--no-full</option>.</para>
154 </listitem>
155 </varlistentry>
156
157 <varlistentry>
158 <term><option>-a</option></term>
159 <term><option>--all</option></term>
160
161 <listitem><para>Show all fields in full, even if they
162 include unprintable characters or are very
163 long.</para></listitem>
164 </varlistentry>
165
166 <varlistentry>
167 <term><option>-f</option></term>
168 <term><option>--follow</option></term>
169
170 <listitem><para>Show only the most recent journal entries,
171 and continuously print new entries as they are appended to
172 the journal.</para></listitem>
173 </varlistentry>
174
175 <varlistentry>
176 <term><option>-e</option></term>
177 <term><option>--pager-end</option></term>
178
179 <listitem><para>Immediately jump to the end of the journal
180 inside the implied pager tool. This implies
181 <option>-n1000</option> to guarantee that the pager will not
182 buffer logs of unbounded size. This may be overridden with
183 an explicit <option>-n</option> with some other numeric
184 value while <option>-nall</option> will disable this cap.
185 Note that this option is only supported for the
186 <citerefentry project='man-pages'><refentrytitle>less</refentrytitle><manvolnum>1</manvolnum></citerefentry>
187 pager.</para></listitem>
188 </varlistentry>
189
190 <varlistentry>
191 <term><option>-n</option></term>
192 <term><option>--lines=</option></term>
193
194 <listitem><para>Show the most recent journal events and
195 limit the number of events shown. If
196 <option>--follow</option> is used, this option is
197 implied. The argument is a positive integer or
198 <literal>all</literal> to disable line limiting. The default
199 value is 10 if no argument is given.</para></listitem>
200 </varlistentry>
201
202 <varlistentry>
203 <term><option>--no-tail</option></term>
204
205 <listitem><para>Show all stored output lines, even in follow
206 mode. Undoes the effect of <option>--lines=</option>.
207 </para></listitem>
208 </varlistentry>
209
210 <varlistentry>
211 <term><option>-r</option></term>
212 <term><option>--reverse</option></term>
213
214 <listitem><para>Reverse output so that the newest entries
215 are displayed first.</para></listitem>
216 </varlistentry>
217
218 <varlistentry>
219 <term><option>-o</option></term>
220 <term><option>--output=</option></term>
221
222 <listitem><para>Controls the formatting of the journal
223 entries that are shown. Takes one of the following
224 options:</para>
225 <variablelist>
226 <varlistentry>
227 <term>
228 <option>short</option>
229 </term>
230 <listitem>
231 <para>is the default and generates an output that is
232 mostly identical to the formatting of classic syslog
233 files, showing one line per journal entry.</para>
234 </listitem>
235 </varlistentry>
236
237 <varlistentry>
238 <term>
239 <option>short-iso</option>
240 </term>
241 <listitem>
242 <para>is very similar, but shows ISO 8601 wallclock
243 timestamps.</para>
244 </listitem>
245 </varlistentry>
246
247 <varlistentry>
248 <term>
249 <option>short-precise</option>
250 </term>
251 <listitem>
252 <para>is very similar, but shows timestamps with full
253 microsecond precision.</para>
254 </listitem>
255 </varlistentry>
256
257 <varlistentry>
258 <term>
259 <option>short-monotonic</option>
260 </term>
261 <listitem>
262 <para>is very similar, but shows monotonic timestamps
263 instead of wallclock timestamps.</para>
264 </listitem>
265 </varlistentry>
266
267 <varlistentry>
268 <term>
269 <option>verbose</option>
270 </term>
271 <listitem>
272 <para>shows the full-structured entry items with all
273 fields.</para>
274 </listitem>
275 </varlistentry>
276
277 <varlistentry>
278 <term>
279 <option>export</option>
280 </term>
281 <listitem>
282 <para>serializes the journal into a binary (but mostly
283 text-based) stream suitable for backups and network
284 transfer (see
285 <ulink url="http://www.freedesktop.org/wiki/Software/systemd/export">Journal Export Format</ulink>
286 for more information).</para>
287 </listitem>
288 </varlistentry>
289
290 <varlistentry>
291 <term>
292 <option>json</option>
293 </term>
294 <listitem>
295 <para>formats entries as JSON data structures, one per
296 line (see
297 <ulink url="http://www.freedesktop.org/wiki/Software/systemd/json">Journal JSON Format</ulink>
298 for more information).</para>
299 </listitem>
300 </varlistentry>
301
302 <varlistentry>
303 <term>
304 <option>json-pretty</option>
305 </term>
306 <listitem>
307 <para>formats entries as JSON data structures, but
308 formats them in multiple lines in order to make them
309 more readable by humans.</para>
310 </listitem>
311 </varlistentry>
312
313 <varlistentry>
314 <term>
315 <option>json-sse</option>
316 </term>
317 <listitem>
318 <para>formats entries as JSON data structures, but wraps
319 them in a format suitable for
320 <ulink url="https://developer.mozilla.org/en-US/docs/Server-sent_events/Using_server-sent_events">Server-Sent Events</ulink>.
321 </para>
322 </listitem>
323 </varlistentry>
324
325 <varlistentry>
326 <term>
327 <option>cat</option>
328 </term>
329 <listitem>
330 <para>generates a very terse output, only showing the
331 actual message of each journal entry with no metadata,
332 not even a timestamp.</para>
333 </listitem>
334 </varlistentry>
335 </variablelist>
336 </listitem>
337 </varlistentry>
338
339 <varlistentry>
340 <term><option>--utc</option></term>
341
342 <listitem><para>Express time in Coordinated Universal Time
343 (UTC).</para></listitem>
344 </varlistentry>
345
346 <varlistentry>
347 <term><option>-x</option></term>
348 <term><option>--catalog</option></term>
349
350 <listitem><para>Augment log lines with explanation texts from
351 the message catalog. This will add explanatory help texts to
352 log messages in the output where this is available. These
353 short help texts will explain the context of an error or log
354 event, possible solutions, as well as pointers to support
355 forums, developer documentation, and any other relevant
356 manuals. Note that help texts are not available for all
357 messages, but only for selected ones. For more information on
358 the message catalog, please refer to the
359 <ulink url="http://www.freedesktop.org/wiki/Software/systemd/catalog">Message Catalog Developer Documentation</ulink>.</para>
360
361 <para>Note: when attaching <command>journalctl</command>
362 output to bug reports, please do <emphasis>not</emphasis> use
363 <option>-x</option>.</para>
364 </listitem>
365 </varlistentry>
366
367 <varlistentry>
368 <term><option>-q</option></term>
369 <term><option>--quiet</option></term>
370
371 <listitem><para>Suppresses any warning messages regarding
372 inaccessible system journals when run as a normal
373 user.</para></listitem>
374 </varlistentry>
375
376 <varlistentry>
377 <term><option>-m</option></term>
378 <term><option>--merge</option></term>
379
380 <listitem><para>Show entries interleaved from all available
381 journals, including remote ones.</para></listitem>
382 </varlistentry>
383
384 <varlistentry>
385 <term><option>-b <optional><replaceable>ID</replaceable></optional><optional><replaceable>±offset</replaceable></optional></option></term>
386 <term><option>--boot=<optional><replaceable>ID</replaceable></optional><optional><replaceable>±offset</replaceable></optional></option></term>
387
388 <listitem><para>Show messages from a specific boot. This will
389 add a match for <literal>_BOOT_ID=</literal>.</para>
390
391 <para>The argument may be empty, in which case logs for the
392 current boot will be shown.</para>
393
394 <para>If the boot ID is omitted, a positive
395 <replaceable>offset</replaceable> will look up the boots
396 starting from the beginning of the journal, and a
397 equal-or-less-than zero <replaceable>offset</replaceable> will
398 look up boots starting from the end of the journal. Thus,
399 <constant>1</constant> means the first boot found in the
400 journal in chronological order, <constant>2</constant> the
401 second and so on; while <constant>-0</constant> is the last
402 boot, <constant>-1</constant> the boot before last, and so
403 on. An empty <replaceable>offset</replaceable> is equivalent
404 to specifying <constant>-0</constant>, except when the current
405 boot is not the last boot (e.g. because
406 <option>--directory</option> was specified to look at logs
407 from a different machine).</para>
408
409 <para>If the 32-character <replaceable>ID</replaceable> is
410 specified, it may optionally be followed by
411 <replaceable>offset</replaceable> which identifies the boot
412 relative to the one given by boot
413 <replaceable>ID</replaceable>. Negative values mean earlier
414 boots and a positive values mean later boots. If
415 <replaceable>offset</replaceable> is not specified, a value of
416 zero is assumed, and the logs for the boot given by
417 <replaceable>ID</replaceable> are shown.</para>
418 </listitem>
419 </varlistentry>
420
421 <varlistentry>
422 <term><option>--list-boots</option></term>
423
424 <listitem><para>Show a tabular list of boot numbers (relative to
425 the current boot), their IDs, and the timestamps of the first
426 and last message pertaining to the boot.</para></listitem>
427 </varlistentry>
428
429 <varlistentry>
430 <term><option>-k</option></term>
431 <term><option>--dmesg</option></term>
432
433 <listitem><para>Show only kernel messages. This implies
434 <option>-b</option> and adds the match
435 <literal>_TRANSPORT=kernel</literal>.</para></listitem>
436 </varlistentry>
437
438 <varlistentry>
439 <term><option>-t</option></term>
440 <term><option>--identifier=<replaceable>SYSLOG_IDENTIFIER</replaceable>|<replaceable>PATTERN</replaceable></option></term>
441
442 <listitem><para>Show messages for the specified syslog
443 identifier <replaceable>SYSLOG_IDENTIFIER</replaceable>, or
444 for any of the messages with a
445 <literal>SYSLOG_IDENTIFIER</literal> matched by
446 <replaceable>PATTERN</replaceable>.</para>
447
448 <para>This parameter can be specified multiple
449 times.</para></listitem>
450 </varlistentry>
451
452 <varlistentry>
453 <term><option>-u</option></term>
454 <term><option>--unit=<replaceable>UNIT</replaceable>|<replaceable>PATTERN</replaceable></option></term>
455
456 <listitem><para>Show messages for the specified systemd unit
457 <replaceable>UNIT</replaceable> (such as a service unit), or
458 for any of the units matched by
459 <replaceable>PATTERN</replaceable>. If a pattern is
460 specified, a list of unit names found in the journal is
461 compared with the specified pattern and all that match are
462 used. For each unit name, a match is added for messages from
463 the unit
464 (<literal>_SYSTEMD_UNIT=<replaceable>UNIT</replaceable></literal>),
465 along with additional matches for messages from systemd and
466 messages about coredumps for the specified unit.</para>
467
468 <para>This parameter can be specified multiple times.</para>
469 </listitem>
470 </varlistentry>
471
472 <varlistentry>
473 <term><option>--user-unit=</option></term>
474
475 <listitem><para>Show messages for the specified user session
476 unit. This will add a match for messages from the unit
477 (<literal>_SYSTEMD_USER_UNIT=</literal> and
478 <literal>_UID=</literal>) and additional matches for messages
479 from session systemd and messages about coredumps for the
480 specified unit.</para>
481
482 <para>This parameter can be specified multiple times.</para>
483 </listitem>
484 </varlistentry>
485
486 <varlistentry>
487 <term><option>-p</option></term>
488 <term><option>--priority=</option></term>
489
490 <listitem><para>Filter output by message priorities or
491 priority ranges. Takes either a single numeric or textual log
492 level (i.e. between 0/<literal>emerg</literal> and
493 7/<literal>debug</literal>), or a range of numeric/text log
494 levels in the form FROM..TO. The log levels are the usual
495 syslog log levels as documented in
496 <citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
497 i.e. <literal>emerg</literal> (0),
498 <literal>alert</literal> (1), <literal>crit</literal> (2),
499 <literal>err</literal> (3), <literal>warning</literal> (4),
500 <literal>notice</literal> (5), <literal>info</literal> (6),
501 <literal>debug</literal> (7). If a single log level is
502 specified, all messages with this log level or a lower (hence
503 more important) log level are shown. If a range is specified,
504 all messages within the range are shown, including both the
505 start and the end value of the range. This will add
506 <literal>PRIORITY=</literal> matches for the specified
507 priorities.</para></listitem>
508 </varlistentry>
509
510 <varlistentry>
511 <term><option>-c</option></term>
512 <term><option>--cursor=</option></term>
513
514 <listitem><para>Start showing entries from the location in the
515 journal specified by the passed cursor.</para></listitem>
516 </varlistentry>
517
518 <varlistentry>
519 <term><option>--after-cursor=</option></term>
520
521 <listitem><para>Start showing entries from the location in the
522 journal <emphasis>after</emphasis> the location specified by
523 the this cursor. The cursor is shown when the
524 <option>--show-cursor</option> option is used.</para>
525 </listitem>
526 </varlistentry>
527
528 <varlistentry>
529 <term><option>--show-cursor</option></term>
530
531 <listitem><para>The cursor is shown after the last entry after
532 two dashes:</para>
533 <programlisting>-- cursor: s=0639...</programlisting>
534 <para>The format of the cursor is private
535 and subject to change.</para></listitem>
536 </varlistentry>
537
538 <varlistentry>
539 <term><option>--since=</option></term>
540 <term><option>--until=</option></term>
541
542 <listitem><para>Start showing entries on or newer than the
543 specified date, or on or older than the specified date,
544 respectively. Date specifications should be of the format
545 <literal>2012-10-30 18:17:16</literal>. If the time part is
546 omitted, <literal>00:00:00</literal> is assumed. If only the
547 seconds component is omitted, <literal>:00</literal> is
548 assumed. If the date component is omitted, the current day is
549 assumed. Alternatively the strings
550 <literal>yesterday</literal>, <literal>today</literal>,
551 <literal>tomorrow</literal> are understood, which refer to
552 00:00:00 of the day before the current day, the current day,
553 or the day after the current day,
554 respectively. <literal>now</literal> refers to the current
555 time. Finally, relative times may be specified, prefixed with
556 <literal>-</literal> or <literal>+</literal>, referring to
557 times before or after the current time, respectively.</para>
558 </listitem>
559 </varlistentry>
560
561 <varlistentry>
562 <term><option>-F</option></term>
563 <term><option>--field=</option></term>
564
565 <listitem><para>Print all possible data values the specified
566 field can take in all entries of the journal.</para></listitem>
567 </varlistentry>
568
569 <varlistentry>
570 <term><option>--system</option></term>
571 <term><option>--user</option></term>
572
573 <listitem><para>Show messages from system services and the
574 kernel (with <option>--system</option>). Show messages from
575 service of current user (with <option>--user</option>). If
576 neither is specified, show all messages that the user can see.
577 </para></listitem>
578 </varlistentry>
579
580 <varlistentry>
581 <term><option>-M</option></term>
582 <term><option>--machine=</option></term>
583
584 <listitem><para>Show messages from a running, local
585 container. Specify a container name to connect to.</para>
586 </listitem>
587 </varlistentry>
588
589 <varlistentry>
590 <term><option>-D <replaceable>DIR</replaceable></option></term>
591 <term><option>--directory=<replaceable>DIR</replaceable></option></term>
592
593 <listitem><para>Takes a directory path as argument. If
594 specified, journalctl will operate on the specified journal
595 directory <replaceable>DIR</replaceable> instead of the
596 default runtime and system journal paths.</para></listitem>
597 </varlistentry>
598
599 <varlistentry>
600 <term><option>--file=<replaceable>GLOB</replaceable></option></term>
601
602 <listitem><para>Takes a file glob as an argument. If
603 specified, journalctl will operate on the specified journal
604 files matching <replaceable>GLOB</replaceable> instead of the
605 default runtime and system journal paths. May be specified
606 multiple times, in which case files will be suitably
607 interleaved.</para></listitem>
608 </varlistentry>
609
610 <varlistentry>
611 <term><option>--root=<replaceable>ROOT</replaceable></option></term>
612
613 <listitem><para>Takes a directory path as an argument. If
614 specified, journalctl will operate on catalog file hierarchy
615 underneath the specified directory instead of the root
616 directory (e.g. <option>--update-catalog</option> will create
617 <filename><replaceable>ROOT</replaceable>/var/lib/systemd/catalog/database</filename>).
618 </para></listitem>
619 </varlistentry>
620
621 <varlistentry>
622 <term><option>--new-id128</option></term>
623
624 <listitem><para>Instead of showing journal contents, generate
625 a new 128-bit ID suitable for identifying messages. This is
626 intended for usage by developers who need a new identifier for
627 a new message they introduce and want to make
628 recognizable. This will print the new ID in three different
629 formats which can be copied into source code or similar.
630 </para></listitem>
631 </varlistentry>
632
633 <varlistentry>
634 <term><option>--header</option></term>
635
636 <listitem><para>Instead of showing journal contents, show
637 internal header information of the journal fields
638 accessed.</para></listitem>
639 </varlistentry>
640
641 <varlistentry>
642 <term><option>--disk-usage</option></term>
643
644 <listitem><para>Shows the current disk usage of all journal
645 files. This shows the sum of the disk usage of all archived
646 and active journal files.</para></listitem>
647 </varlistentry>
648
649 <varlistentry>
650 <term><option>--vacuum-size=</option></term>
651 <term><option>--vacuum-time=</option></term>
652
653 <listitem><para>Removes archived journal files until the disk
654 space they use falls below the specified size (specified with
655 the usual <literal>K</literal>, <literal>M</literal>,
656 <literal>G</literal>, <literal>T</literal> suffixes), or all
657 journal files contain no data older than the specified
658 timespan (specified with the usual <literal>s</literal>,
659 <literal>min</literal>, <literal>h</literal>,
660 <literal>days</literal>, <literal>months</literal>,
661 <literal>weeks</literal>, <literal>years</literal>
662 suffixes). Note that running <option>--vacuum-size=</option>
663 has only indirect effect on the output shown by
664 <option>--disk-usage</option> as the latter includes active
665 journal files, while the former only operates on archived
666 journal files. <option>--vacuum-size=</option> and
667 <option>--vacuum-time=</option> may be combined in a single
668 invocation to enforce both a size and time limit on the
669 archived journal files.</para></listitem>
670 </varlistentry>
671
672 <varlistentry>
673 <term><option>--list-catalog
674 <optional><replaceable>128-bit-ID...</replaceable></optional>
675 </option></term>
676
677 <listitem><para>List the contents of the message catalog as a
678 table of message IDs, plus their short description strings.
679 </para>
680
681 <para>If any <replaceable>128-bit-ID</replaceable>s are
682 specified, only those entries are shown.</para>
683 </listitem>
684 </varlistentry>
685
686 <varlistentry>
687 <term><option>--dump-catalog
688 <optional><replaceable>128-bit-ID...</replaceable></optional>
689 </option></term>
690
691 <listitem><para>Show the contents of the message catalog, with
692 entries separated by a line consisting of two dashes and the
693 ID (the format is the same as <filename>.catalog</filename>
694 files).</para>
695
696 <para>If any <replaceable>128-bit-ID</replaceable>s are
697 specified, only those entries are shown.</para>
698 </listitem>
699 </varlistentry>
700
701 <varlistentry>
702 <term><option>--update-catalog</option></term>
703
704 <listitem><para>Update the message catalog index. This command
705 needs to be executed each time new catalog files are
706 installed, removed, or updated to rebuild the binary catalog
707 index.</para></listitem>
708 </varlistentry>
709
710 <varlistentry>
711 <term><option>--setup-keys</option></term>
712
713 <listitem><para>Instead of showing journal contents, generate
714 a new key pair for Forward Secure Sealing (FSS). This will
715 generate a sealing key and a verification key. The sealing key
716 is stored in the journal data directory and shall remain on
717 the host. The verification key should be stored
718 externally. Refer to the <option>Seal=</option> option in
719 <citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
720 for information on Forward Secure Sealing and for a link to a
721 refereed scholarly paper detailing the cryptographic theory it
722 is based on.</para></listitem>
723 </varlistentry>
724
725 <varlistentry>
726 <term><option>--force</option></term>
727
728 <listitem><para>When <option>--setup-keys</option> is passed
729 and Forward Secure Sealing (FSS) has already been configured,
730 recreate FSS keys.</para></listitem>
731 </varlistentry>
732
733 <varlistentry>
734 <term><option>--interval=</option></term>
735
736 <listitem><para>Specifies the change interval for the sealing
737 key when generating an FSS key pair with
738 <option>--setup-keys</option>. Shorter intervals increase CPU
739 consumption but shorten the time range of undetectable journal
740 alterations. Defaults to 15min.</para></listitem>
741 </varlistentry>
742
743 <varlistentry>
744 <term><option>--verify</option></term>
745
746 <listitem><para>Check the journal file for internal
747 consistency. If the file has been generated with FSS enabled and
748 the FSS verification key has been specified with
749 <option>--verify-key=</option>, authenticity of the journal file
750 is verified.</para></listitem>
751 </varlistentry>
752
753 <varlistentry>
754 <term><option>--verify-key=</option></term>
755
756 <listitem><para>Specifies the FSS verification key to use for
757 the <option>--verify</option> operation.</para></listitem>
758 </varlistentry>
759
760 <varlistentry>
761 <term><option>--flush</option></term>
762
763 <listitem><para>Asks the Journal daemon to flush any log data
764 stored in <filename>/run/log/journal</filename> into
765 <filename>/var/log/journal</filename>, if persistent storage is
766 enabled. This call does not return until the operation is
767 complete.</para></listitem>
768 </varlistentry>
769
770 <xi:include href="standard-options.xml" xpointer="help" />
771 <xi:include href="standard-options.xml" xpointer="version" />
772 <xi:include href="standard-options.xml" xpointer="no-pager" />
773 </variablelist>
774 </refsect1>
775
776 <refsect1>
777 <title>Exit status</title>
778
779 <para>On success, 0 is returned; otherwise, a non-zero failure
780 code is returned.</para>
781 </refsect1>
782
783 <xi:include href="less-variables.xml" />
784
785 <refsect1>
786 <title>Examples</title>
787
788 <para>Without arguments, all collected logs are shown
789 unfiltered:</para>
790
791 <programlisting>journalctl</programlisting>
792
793 <para>With one match specified, all entries with a field matching
794 the expression are shown:</para>
795
796 <programlisting>journalctl _SYSTEMD_UNIT=avahi-daemon.service</programlisting>
797
798 <para>If two different fields are matched, only entries matching
799 both expressions at the same time are shown:</para>
800
801 <programlisting>journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097</programlisting>
802
803 <para>If two matches refer to the same field, all entries matching
804 either expression are shown:</para>
805
806 <programlisting>journalctl _SYSTEMD_UNIT=avahi-daemon.service _SYSTEMD_UNIT=dbus.service</programlisting>
807
808 <para>If the separator <literal>+</literal> is used, two
809 expressions may be combined in a logical OR. The following will
810 show all messages from the Avahi service process with the PID
811 28097 plus all messages from the D-Bus service (from any of its
812 processes):</para>
813
814 <programlisting>journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097 + _SYSTEMD_UNIT=dbus.service</programlisting>
815
816 <para>Show all logs generated by the D-Bus executable:</para>
817
818 <programlisting>journalctl /usr/bin/dbus-daemon</programlisting>
819
820 <para>Show all kernel logs from previous boot:</para>
821
822 <programlisting>journalctl -k -b -1</programlisting>
823
824 <para>Show a live log display from a system service
825 <filename>apache.service</filename>:</para>
826
827 <programlisting>journalctl -f -u apache</programlisting>
828
829 </refsect1>
830
831 <refsect1>
832 <title>See Also</title>
833 <para>
834 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
835 <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
836 <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
837 <citerefentry><refentrytitle>coredumpctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
838 <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
839 <citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
840 </para>
841 </refsect1>
842 </refentry>