chiark / gitweb /
util: make http url validity checks more generic, and move them to util.c
[elogind.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 the
115       <literal>systemd-journal</literal>, <literal>adm</literal>, and
116       <literal>wheel</literal> groups 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 logs of the kernel device node
821     <filename noindex='true'>/dev/sda</filename>:</para>
822
823     <programlisting>journalctl /dev/sda</programlisting>
824
825     <para>Show all kernel logs from previous boot:</para>
826
827     <programlisting>journalctl -k -b -1</programlisting>
828
829     <para>Show a live log display from a system service
830     <filename>apache.service</filename>:</para>
831
832     <programlisting>journalctl -f -u apache</programlisting>
833
834   </refsect1>
835
836   <refsect1>
837     <title>See Also</title>
838     <para>
839       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
840       <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
841       <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
842       <citerefentry><refentrytitle>coredumpctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
843       <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
844       <citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
845     </para>
846   </refsect1>
847 </refentry>