]> git.ipfire.org Git - thirdparty/systemd.git/blob - man/journalctl.xml
NEWS: use https:// in URLs
[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 appear
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>It is also possible to filter the entries by specifying an
91 absolute file path as an argument. The file path may be a file or
92 a symbolic link and the file must exist at the time of the query. If a
93 file path refers to an executable binary, an <literal>_EXE=</literal>
94 match for the canonicalized binary path is added to the query. If a
95 file path refers to an executable script, a <literal>_COMM=</literal>
96 match for the script name is added to the query. If a file path
97 refers to a device node, <literal>_KERNEL_DEVICE=</literal> matches for
98 the kernel name of the device and for each of its ancestor devices is
99 added to the query. Symbolic links are dereferenced, kernel names are
100 synthesized, and parent devices are identified from the environment at
101 the time of the query. In general, a device node is the best proxy for
102 an actual device, as log entries do not usually contain fields that
103 identify an actual device. For the resulting log entries to be correct
104 for the actual device, the relevant parts of the environment at the time
105 the entry was logged, in particular the actual device corresponding to
106 the device node, must have been the same as those at the time of the
107 query. Because device nodes generally change their corresponding devices
108 across reboots, specifying a device node path causes the resulting
109 entries to be restricted to those from the current boot.</para>
110
111 <para>Additional constraints may be added using options
112 <option>--boot</option>, <option>--unit=</option>, etc., to
113 further limit what entries will be shown (logical AND).</para>
114
115 <para>Output is interleaved from all accessible journal files,
116 whether they are rotated or currently being written, and
117 regardless of whether they belong to the system itself or are
118 accessible user journals.</para>
119
120 <para>The set of journal files which will be used can be
121 modified using the <option>--user</option>,
122 <option>--system</option>, <option>--directory</option>, and
123 <option>--file</option> options, see below.</para>
124
125 <para>All users are granted access to their private per-user
126 journals. However, by default, only root and users who are
127 members of a few special groups are granted access to the system
128 journal and the journals of other users. Members of the groups
129 <literal>systemd-journal</literal>, <literal>adm</literal>, and
130 <literal>wheel</literal> can read all journal files. Note
131 that the two latter groups traditionally have additional
132 privileges specified by the distribution. Members of the
133 <literal>wheel</literal> group can often perform administrative
134 tasks.</para>
135
136 <para>The output is paged through <command>less</command> by
137 default, and long lines are "truncated" to screen width. The
138 hidden part can be viewed by using the left-arrow and
139 right-arrow keys. Paging can be disabled; see the
140 <option>--no-pager</option> option and the "Environment" section
141 below.</para>
142
143 <para>When outputting to a tty, lines are colored according to
144 priority: lines of level ERROR and higher are colored red; lines
145 of level NOTICE and higher are highlighted; other lines are
146 displayed normally.</para>
147 </refsect1>
148
149 <refsect1>
150 <title>Options</title>
151
152 <para>The following options are understood:</para>
153
154 <variablelist>
155 <varlistentry>
156 <term><option>--no-full</option></term>
157 <term><option>--full</option></term>
158 <term><option>-l</option></term>
159
160 <listitem><para>Ellipsize fields when they do not fit in
161 available columns. The default is to show full fields,
162 allowing them to wrap or be truncated by the pager, if one
163 is used.</para>
164
165 <para>The old options
166 <option>-l</option>/<option>--full</option> are not useful
167 anymore, except to undo <option>--no-full</option>.</para>
168 </listitem>
169 </varlistentry>
170
171 <varlistentry>
172 <term><option>-a</option></term>
173 <term><option>--all</option></term>
174
175 <listitem><para>Show all fields in full, even if they
176 include unprintable characters or are very
177 long.</para></listitem>
178 </varlistentry>
179
180 <varlistentry>
181 <term><option>-f</option></term>
182 <term><option>--follow</option></term>
183
184 <listitem><para>Show only the most recent journal entries,
185 and continuously print new entries as they are appended to
186 the journal.</para></listitem>
187 </varlistentry>
188
189 <varlistentry>
190 <term><option>-e</option></term>
191 <term><option>--pager-end</option></term>
192
193 <listitem><para>Immediately jump to the end of the journal
194 inside the implied pager tool. This implies
195 <option>-n1000</option> to guarantee that the pager will not
196 buffer logs of unbounded size. This may be overridden with
197 an explicit <option>-n</option> with some other numeric
198 value, while <option>-nall</option> will disable this cap.
199 Note that this option is only supported for the
200 <citerefentry project='man-pages'><refentrytitle>less</refentrytitle><manvolnum>1</manvolnum></citerefentry>
201 pager.</para></listitem>
202 </varlistentry>
203
204 <varlistentry>
205 <term><option>-n</option></term>
206 <term><option>--lines=</option></term>
207
208 <listitem><para>Show the most recent journal events and
209 limit the number of events shown. If
210 <option>--follow</option> is used, this option is
211 implied. The argument is a positive integer or
212 <literal>all</literal> to disable line limiting. The default
213 value is 10 if no argument is given.</para></listitem>
214 </varlistentry>
215
216 <varlistentry>
217 <term><option>--no-tail</option></term>
218
219 <listitem><para>Show all stored output lines, even in follow
220 mode. Undoes the effect of <option>--lines=</option>.
221 </para></listitem>
222 </varlistentry>
223
224 <varlistentry>
225 <term><option>-r</option></term>
226 <term><option>--reverse</option></term>
227
228 <listitem><para>Reverse output so that the newest entries
229 are displayed first.</para></listitem>
230 </varlistentry>
231
232 <varlistentry>
233 <term><option>-o</option></term>
234 <term><option>--output=</option></term>
235
236 <listitem><para>Controls the formatting of the journal
237 entries that are shown. Takes one of the following
238 options:</para>
239 <variablelist>
240 <varlistentry>
241 <term>
242 <option>short</option>
243 </term>
244 <listitem>
245 <para>is the default and generates an output that is
246 mostly identical to the formatting of classic syslog
247 files, showing one line per journal entry.</para>
248 </listitem>
249 </varlistentry>
250
251 <varlistentry>
252 <term>
253 <option>short-full</option>
254 </term>
255 <listitem>
256 <para>is very similar, but shows timestamps in the format the <option>--since=</option> and
257 <option>--until=</option> options accept. Unlike the timestamp information shown in
258 <option>short</option> output mode this mode includes weekday, year and timezone information in the
259 output, and is locale-independent.</para>
260 </listitem>
261 </varlistentry>
262
263 <varlistentry>
264 <term>
265 <option>short-iso</option>
266 </term>
267 <listitem>
268 <para>is very similar, but shows ISO 8601 wallclock
269 timestamps.</para>
270 </listitem>
271 </varlistentry>
272
273 <varlistentry>
274 <term>
275 <option>short-precise</option>
276 </term>
277 <listitem>
278 <para>is very similar, but shows timestamps with full
279 microsecond precision.</para>
280 </listitem>
281 </varlistentry>
282
283 <varlistentry>
284 <term>
285 <option>short-monotonic</option>
286 </term>
287 <listitem>
288 <para>is very similar, but shows monotonic timestamps
289 instead of wallclock timestamps.</para>
290 </listitem>
291 </varlistentry>
292
293 <varlistentry>
294 <term>
295 <option>short-unix</option>
296 </term>
297 <listitem>
298 <para>is very similar, but shows seconds passed since January 1st 1970 UTC instead of wallclock
299 timestamps ("UNIX time"). The time is shown with microsecond accuracy.</para>
300 </listitem>
301 </varlistentry>
302
303 <varlistentry>
304 <term>
305 <option>verbose</option>
306 </term>
307 <listitem>
308 <para>shows the full-structured entry items with all
309 fields.</para>
310 </listitem>
311 </varlistentry>
312
313 <varlistentry>
314 <term>
315 <option>export</option>
316 </term>
317 <listitem>
318 <para>serializes the journal into a binary (but mostly
319 text-based) stream suitable for backups and network
320 transfer (see
321 <ulink url="http://www.freedesktop.org/wiki/Software/systemd/export">Journal Export Format</ulink>
322 for more information). To import the binary stream back
323 into native journald format use
324 <citerefentry><refentrytitle>systemd-journal-remote</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
325 </listitem>
326 </varlistentry>
327
328 <varlistentry>
329 <term>
330 <option>json</option>
331 </term>
332 <listitem>
333 <para>formats entries as JSON data structures, one per
334 line (see
335 <ulink url="http://www.freedesktop.org/wiki/Software/systemd/json">Journal JSON Format</ulink>
336 for more information).</para>
337 </listitem>
338 </varlistentry>
339
340 <varlistentry>
341 <term>
342 <option>json-pretty</option>
343 </term>
344 <listitem>
345 <para>formats entries as JSON data structures, but
346 formats them in multiple lines in order to make them
347 more readable by humans.</para>
348 </listitem>
349 </varlistentry>
350
351 <varlistentry>
352 <term>
353 <option>json-sse</option>
354 </term>
355 <listitem>
356 <para>formats entries as JSON data structures, but wraps
357 them in a format suitable for
358 <ulink url="https://developer.mozilla.org/en-US/docs/Server-sent_events/Using_server-sent_events">Server-Sent Events</ulink>.
359 </para>
360 </listitem>
361 </varlistentry>
362
363 <varlistentry>
364 <term>
365 <option>cat</option>
366 </term>
367 <listitem>
368 <para>generates a very terse output, only showing the
369 actual message of each journal entry with no metadata,
370 not even a timestamp.</para>
371 </listitem>
372 </varlistentry>
373 </variablelist>
374 </listitem>
375 </varlistentry>
376
377 <varlistentry>
378 <term><option>--utc</option></term>
379
380 <listitem><para>Express time in Coordinated Universal Time
381 (UTC).</para></listitem>
382 </varlistentry>
383
384 <varlistentry>
385 <term><option>--no-hostname</option></term>
386
387 <listitem><para>Don't show the hostname field of log messages originating from the local host. This switch only
388 has an effect on the <option>short</option> family of output modes (see above).</para></listitem>
389 </varlistentry>
390
391 <varlistentry>
392 <term><option>-x</option></term>
393 <term><option>--catalog</option></term>
394
395 <listitem><para>Augment log lines with explanation texts from
396 the message catalog. This will add explanatory help texts to
397 log messages in the output where this is available. These
398 short help texts will explain the context of an error or log
399 event, possible solutions, as well as pointers to support
400 forums, developer documentation, and any other relevant
401 manuals. Note that help texts are not available for all
402 messages, but only for selected ones. For more information on
403 the message catalog, please refer to the
404 <ulink url="http://www.freedesktop.org/wiki/Software/systemd/catalog">Message Catalog Developer Documentation</ulink>.</para>
405
406 <para>Note: when attaching <command>journalctl</command>
407 output to bug reports, please do <emphasis>not</emphasis> use
408 <option>-x</option>.</para>
409 </listitem>
410 </varlistentry>
411
412 <varlistentry>
413 <term><option>-q</option></term>
414 <term><option>--quiet</option></term>
415
416 <listitem><para>Suppresses all info messages
417 (i.e. "-- Logs begin at …", "-- Reboot --"),
418 any warning messages regarding
419 inaccessible system journals when run as a normal
420 user.</para></listitem>
421 </varlistentry>
422
423 <varlistentry>
424 <term><option>-m</option></term>
425 <term><option>--merge</option></term>
426
427 <listitem><para>Show entries interleaved from all available
428 journals, including remote ones.</para></listitem>
429 </varlistentry>
430
431 <varlistentry>
432 <term><option>-b <optional><replaceable>ID</replaceable></optional><optional><replaceable>±offset</replaceable></optional></option></term>
433 <term><option>--boot=<optional><replaceable>ID</replaceable></optional><optional><replaceable>±offset</replaceable></optional></option></term>
434
435 <listitem><para>Show messages from a specific boot. This will
436 add a match for <literal>_BOOT_ID=</literal>.</para>
437
438 <para>The argument may be empty, in which case logs for the
439 current boot will be shown.</para>
440
441 <para>If the boot ID is omitted, a positive
442 <replaceable>offset</replaceable> will look up the boots
443 starting from the beginning of the journal, and an
444 equal-or-less-than zero <replaceable>offset</replaceable> will
445 look up boots starting from the end of the journal. Thus,
446 <constant>1</constant> means the first boot found in the
447 journal in chronological order, <constant>2</constant> the
448 second and so on; while <constant>-0</constant> is the last
449 boot, <constant>-1</constant> the boot before last, and so
450 on. An empty <replaceable>offset</replaceable> is equivalent
451 to specifying <constant>-0</constant>, except when the current
452 boot is not the last boot (e.g. because
453 <option>--directory</option> was specified to look at logs
454 from a different machine).</para>
455
456 <para>If the 32-character <replaceable>ID</replaceable> is
457 specified, it may optionally be followed by
458 <replaceable>offset</replaceable> which identifies the boot
459 relative to the one given by boot
460 <replaceable>ID</replaceable>. Negative values mean earlier
461 boots and positive values mean later boots. If
462 <replaceable>offset</replaceable> is not specified, a value of
463 zero is assumed, and the logs for the boot given by
464 <replaceable>ID</replaceable> are shown.</para>
465 </listitem>
466 </varlistentry>
467
468 <varlistentry>
469 <term><option>--list-boots</option></term>
470
471 <listitem><para>Show a tabular list of boot numbers (relative to
472 the current boot), their IDs, and the timestamps of the first
473 and last message pertaining to the boot.</para></listitem>
474 </varlistentry>
475
476 <varlistentry>
477 <term><option>-k</option></term>
478 <term><option>--dmesg</option></term>
479
480 <listitem><para>Show only kernel messages. This implies
481 <option>-b</option> and adds the match
482 <literal>_TRANSPORT=kernel</literal>.</para></listitem>
483 </varlistentry>
484
485 <varlistentry>
486 <term><option>-t</option></term>
487 <term><option>--identifier=<replaceable>SYSLOG_IDENTIFIER</replaceable></option></term>
488
489 <listitem><para>Show messages for the specified syslog
490 identifier
491 <replaceable>SYSLOG_IDENTIFIER</replaceable>.</para>
492
493 <para>This parameter can be specified multiple
494 times.</para></listitem>
495 </varlistentry>
496
497 <varlistentry>
498 <term><option>-u</option></term>
499 <term><option>--unit=<replaceable>UNIT</replaceable>|<replaceable>PATTERN</replaceable></option></term>
500
501 <listitem><para>Show messages for the specified systemd unit
502 <replaceable>UNIT</replaceable> (such as a service unit), or
503 for any of the units matched by
504 <replaceable>PATTERN</replaceable>. If a pattern is
505 specified, a list of unit names found in the journal is
506 compared with the specified pattern and all that match are
507 used. For each unit name, a match is added for messages from
508 the unit
509 (<literal>_SYSTEMD_UNIT=<replaceable>UNIT</replaceable></literal>),
510 along with additional matches for messages from systemd and
511 messages about coredumps for the specified unit.</para>
512
513 <para>This parameter can be specified multiple times.</para>
514 </listitem>
515 </varlistentry>
516
517 <varlistentry>
518 <term><option>--user-unit=</option></term>
519
520 <listitem><para>Show messages for the specified user session
521 unit. This will add a match for messages from the unit
522 (<literal>_SYSTEMD_USER_UNIT=</literal> and
523 <literal>_UID=</literal>) and additional matches for messages
524 from session systemd and messages about coredumps for the
525 specified unit.</para>
526
527 <para>This parameter can be specified multiple times.</para>
528 </listitem>
529 </varlistentry>
530
531 <varlistentry>
532 <term><option>-p</option></term>
533 <term><option>--priority=</option></term>
534
535 <listitem><para>Filter output by message priorities or
536 priority ranges. Takes either a single numeric or textual log
537 level (i.e. between 0/<literal>emerg</literal> and
538 7/<literal>debug</literal>), or a range of numeric/text log
539 levels in the form FROM..TO. The log levels are the usual
540 syslog log levels as documented in
541 <citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
542 i.e. <literal>emerg</literal> (0),
543 <literal>alert</literal> (1), <literal>crit</literal> (2),
544 <literal>err</literal> (3), <literal>warning</literal> (4),
545 <literal>notice</literal> (5), <literal>info</literal> (6),
546 <literal>debug</literal> (7). If a single log level is
547 specified, all messages with this log level or a lower (hence
548 more important) log level are shown. If a range is specified,
549 all messages within the range are shown, including both the
550 start and the end value of the range. This will add
551 <literal>PRIORITY=</literal> matches for the specified
552 priorities.</para></listitem>
553 </varlistentry>
554
555 <varlistentry>
556 <term><option>-c</option></term>
557 <term><option>--cursor=</option></term>
558
559 <listitem><para>Start showing entries from the location in the
560 journal specified by the passed cursor.</para></listitem>
561 </varlistentry>
562
563 <varlistentry>
564 <term><option>--after-cursor=</option></term>
565
566 <listitem><para>Start showing entries from the location in the
567 journal <emphasis>after</emphasis> the location specified by
568 the passed cursor. The cursor is shown when the
569 <option>--show-cursor</option> option is used.</para>
570 </listitem>
571 </varlistentry>
572
573 <varlistentry>
574 <term><option>--show-cursor</option></term>
575
576 <listitem><para>The cursor is shown after the last entry after
577 two dashes:</para>
578 <programlisting>-- cursor: s=0639</programlisting>
579 <para>The format of the cursor is private
580 and subject to change.</para></listitem>
581 </varlistentry>
582
583 <varlistentry>
584 <term><option>-S</option></term>
585 <term><option>--since=</option></term>
586 <term><option>-U</option></term>
587 <term><option>--until=</option></term>
588
589 <listitem><para>Start showing entries on or newer than the specified date, or on or older than the specified
590 date, respectively. Date specifications should be of the format <literal>2012-10-30 18:17:16</literal>. If the
591 time part is omitted, <literal>00:00:00</literal> is assumed. If only the seconds component is omitted,
592 <literal>:00</literal> is assumed. If the date component is omitted, the current day is assumed. Alternatively
593 the strings <literal>yesterday</literal>, <literal>today</literal>, <literal>tomorrow</literal> are understood,
594 which refer to 00:00:00 of the day before the current day, the current day, or the day after the current day,
595 respectively. <literal>now</literal> refers to the current time. Finally, relative times may be specified,
596 prefixed with <literal>-</literal> or <literal>+</literal>, referring to times before or after the current
597 time, respectively. For complete time and date specification, see
598 <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>. Note that
599 <option>--output=short-full</option> prints timestamps that follow precisely this format.
600 </para>
601 </listitem>
602 </varlistentry>
603
604 <varlistentry>
605 <term><option>-F</option></term>
606 <term><option>--field=</option></term>
607
608 <listitem><para>Print all possible data values the specified
609 field can take in all entries of the journal.</para></listitem>
610 </varlistentry>
611
612 <varlistentry>
613 <term><option>-N</option></term>
614 <term><option>--fields</option></term>
615
616 <listitem><para>Print all field names currently used in all entries of the journal.</para></listitem>
617 </varlistentry>
618
619 <varlistentry>
620 <term><option>--system</option></term>
621 <term><option>--user</option></term>
622
623 <listitem><para>Show messages from system services and the
624 kernel (with <option>--system</option>). Show messages from
625 service of current user (with <option>--user</option>). If
626 neither is specified, show all messages that the user can see.
627 </para></listitem>
628 </varlistentry>
629
630 <varlistentry>
631 <term><option>-M</option></term>
632 <term><option>--machine=</option></term>
633
634 <listitem><para>Show messages from a running, local
635 container. Specify a container name to connect to.</para>
636 </listitem>
637 </varlistentry>
638
639 <varlistentry>
640 <term><option>-D <replaceable>DIR</replaceable></option></term>
641 <term><option>--directory=<replaceable>DIR</replaceable></option></term>
642
643 <listitem><para>Takes a directory path as argument. If
644 specified, journalctl will operate on the specified journal
645 directory <replaceable>DIR</replaceable> instead of the
646 default runtime and system journal paths.</para></listitem>
647 </varlistentry>
648
649 <varlistentry>
650 <term><option>--file=<replaceable>GLOB</replaceable></option></term>
651
652 <listitem><para>Takes a file glob as an argument. If
653 specified, journalctl will operate on the specified journal
654 files matching <replaceable>GLOB</replaceable> instead of the
655 default runtime and system journal paths. May be specified
656 multiple times, in which case files will be suitably
657 interleaved.</para></listitem>
658 </varlistentry>
659
660 <varlistentry>
661 <term><option>--root=<replaceable>ROOT</replaceable></option></term>
662
663 <listitem><para>Takes a directory path as an argument. If
664 specified, journalctl will operate on journal directories and catalog file hierarchy
665 underneath the specified directory instead of the root
666 directory (e.g. <option>--update-catalog</option> will create
667 <filename><replaceable>ROOT</replaceable>/var/lib/systemd/catalog/database</filename>,
668 and journal files under <filename><replaceable>ROOT</replaceable>/run/journal</filename>
669 or <filename><replaceable>ROOT</replaceable>/var/log/journal</filename> will be displayed).
670 </para></listitem>
671 </varlistentry>
672
673 <varlistentry>
674 <term><option>--new-id128</option></term>
675
676 <listitem><para>Instead of showing journal contents, generate
677 a new 128-bit ID suitable for identifying messages. This is
678 intended for usage by developers who need a new identifier for
679 a new message they introduce and want to make
680 recognizable. This will print the new ID in three different
681 formats which can be copied into source code or similar.
682 </para></listitem>
683 </varlistentry>
684
685 <varlistentry>
686 <term><option>--header</option></term>
687
688 <listitem><para>Instead of showing journal contents, show
689 internal header information of the journal fields
690 accessed.</para></listitem>
691 </varlistentry>
692
693 <varlistentry>
694 <term><option>--disk-usage</option></term>
695
696 <listitem><para>Shows the current disk usage of all journal
697 files. This shows the sum of the disk usage of all archived
698 and active journal files.</para></listitem>
699 </varlistentry>
700
701 <varlistentry>
702 <term><option>--vacuum-size=</option></term>
703 <term><option>--vacuum-time=</option></term>
704 <term><option>--vacuum-files=</option></term>
705
706 <listitem><para>Removes archived journal files until the disk
707 space they use falls below the specified size (specified with
708 the usual <literal>K</literal>, <literal>M</literal>,
709 <literal>G</literal> and <literal>T</literal> suffixes), or all
710 archived journal files contain no data older than the specified
711 timespan (specified with the usual <literal>s</literal>,
712 <literal>m</literal>, <literal>h</literal>,
713 <literal>days</literal>, <literal>months</literal>,
714 <literal>weeks</literal> and <literal>years</literal> suffixes),
715 or no more than the specified number of separate journal files
716 remain. Note that running <option>--vacuum-size=</option> has
717 only an indirect effect on the output shown by
718 <option>--disk-usage</option>, as the latter includes active
719 journal files, while the vacuuming operation only operates
720 on archived journal files. Similarly,
721 <option>--vacuum-files=</option> might not actually reduce the
722 number of journal files to below the specified number, as it
723 will not remove active journal
724 files. <option>--vacuum-size=</option>,
725 <option>--vacuum-time=</option> and
726 <option>--vacuum-files=</option> may be combined in a single
727 invocation to enforce any combination of a size, a time and a
728 number of files limit on the archived journal
729 files. Specifying any of these three parameters as zero is
730 equivalent to not enforcing the specific limit, and is thus
731 redundant.</para></listitem>
732 </varlistentry>
733
734 <varlistentry>
735 <term><option>--list-catalog
736 <optional><replaceable>128-bit-ID…</replaceable></optional>
737 </option></term>
738
739 <listitem><para>List the contents of the message catalog as a
740 table of message IDs, plus their short description strings.
741 </para>
742
743 <para>If any <replaceable>128-bit-ID</replaceable>s are
744 specified, only those entries are shown.</para>
745 </listitem>
746 </varlistentry>
747
748 <varlistentry>
749 <term><option>--dump-catalog
750 <optional><replaceable>128-bit-ID…</replaceable></optional>
751 </option></term>
752
753 <listitem><para>Show the contents of the message catalog, with
754 entries separated by a line consisting of two dashes and the
755 ID (the format is the same as <filename>.catalog</filename>
756 files).</para>
757
758 <para>If any <replaceable>128-bit-ID</replaceable>s are
759 specified, only those entries are shown.</para>
760 </listitem>
761 </varlistentry>
762
763 <varlistentry>
764 <term><option>--update-catalog</option></term>
765
766 <listitem><para>Update the message catalog index. This command
767 needs to be executed each time new catalog files are
768 installed, removed, or updated to rebuild the binary catalog
769 index.</para></listitem>
770 </varlistentry>
771
772 <varlistentry>
773 <term><option>--setup-keys</option></term>
774
775 <listitem><para>Instead of showing journal contents, generate
776 a new key pair for Forward Secure Sealing (FSS). This will
777 generate a sealing key and a verification key. The sealing key
778 is stored in the journal data directory and shall remain on
779 the host. The verification key should be stored
780 externally. Refer to the <option>Seal=</option> option in
781 <citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
782 for information on Forward Secure Sealing and for a link to a
783 refereed scholarly paper detailing the cryptographic theory it
784 is based on.</para></listitem>
785 </varlistentry>
786
787 <varlistentry>
788 <term><option>--force</option></term>
789
790 <listitem><para>When <option>--setup-keys</option> is passed
791 and Forward Secure Sealing (FSS) has already been configured,
792 recreate FSS keys.</para></listitem>
793 </varlistentry>
794
795 <varlistentry>
796 <term><option>--interval=</option></term>
797
798 <listitem><para>Specifies the change interval for the sealing
799 key when generating an FSS key pair with
800 <option>--setup-keys</option>. Shorter intervals increase CPU
801 consumption but shorten the time range of undetectable journal
802 alterations. Defaults to 15min.</para></listitem>
803 </varlistentry>
804
805 <varlistentry>
806 <term><option>--verify</option></term>
807
808 <listitem><para>Check the journal file for internal
809 consistency. If the file has been generated with FSS enabled and
810 the FSS verification key has been specified with
811 <option>--verify-key=</option>, authenticity of the journal file
812 is verified.</para></listitem>
813 </varlistentry>
814
815 <varlistentry>
816 <term><option>--verify-key=</option></term>
817
818 <listitem><para>Specifies the FSS verification key to use for
819 the <option>--verify</option> operation.</para></listitem>
820 </varlistentry>
821
822 <varlistentry>
823 <term><option>--sync</option></term>
824
825 <listitem><para>Asks the journal daemon to write all yet
826 unwritten journal data to the backing file system and
827 synchronize all journals. This call does not return until the
828 synchronization operation is complete. This command guarantees
829 that any log messages written before its invocation are safely
830 stored on disk at the time it returns.</para></listitem>
831 </varlistentry>
832
833 <varlistentry>
834 <term><option>--flush</option></term>
835
836 <listitem><para>Asks the journal daemon to flush any log data
837 stored in <filename>/run/log/journal</filename> into
838 <filename>/var/log/journal</filename>, if persistent storage
839 is enabled. This call does not return until the operation is
840 complete. Note that this call is idempotent: the data is only
841 flushed from <filename>/run/log/journal</filename> into
842 <filename>/var/log/journal</filename> once during system
843 runtime, and this command exits cleanly without executing any
844 operation if this has already happened. This command
845 effectively guarantees that all data is flushed to
846 <filename>/var/log/journal</filename> at the time it
847 returns.</para></listitem>
848 </varlistentry>
849
850 <varlistentry>
851 <term><option>--rotate</option></term>
852
853 <listitem><para>Asks the journal daemon to rotate journal
854 files. This call does not return until the rotation operation
855 is complete.</para></listitem>
856 </varlistentry>
857
858 <xi:include href="standard-options.xml" xpointer="help" />
859 <xi:include href="standard-options.xml" xpointer="version" />
860 <xi:include href="standard-options.xml" xpointer="no-pager" />
861 </variablelist>
862 </refsect1>
863
864 <refsect1>
865 <title>Exit status</title>
866
867 <para>On success, 0 is returned; otherwise, a non-zero failure
868 code is returned.</para>
869 </refsect1>
870
871 <xi:include href="less-variables.xml" />
872
873 <refsect1>
874 <title>Examples</title>
875
876 <para>Without arguments, all collected logs are shown
877 unfiltered:</para>
878
879 <programlisting>journalctl</programlisting>
880
881 <para>With one match specified, all entries with a field matching
882 the expression are shown:</para>
883
884 <programlisting>journalctl _SYSTEMD_UNIT=avahi-daemon.service</programlisting>
885
886 <para>If two different fields are matched, only entries matching
887 both expressions at the same time are shown:</para>
888
889 <programlisting>journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097</programlisting>
890
891 <para>If two matches refer to the same field, all entries matching
892 either expression are shown:</para>
893
894 <programlisting>journalctl _SYSTEMD_UNIT=avahi-daemon.service _SYSTEMD_UNIT=dbus.service</programlisting>
895
896 <para>If the separator <literal>+</literal> is used, two
897 expressions may be combined in a logical OR. The following will
898 show all messages from the Avahi service process with the PID
899 28097 plus all messages from the D-Bus service (from any of its
900 processes):</para>
901
902 <programlisting>journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097 + _SYSTEMD_UNIT=dbus.service</programlisting>
903
904 <para>Show all logs generated by the D-Bus executable:</para>
905
906 <programlisting>journalctl /usr/bin/dbus-daemon</programlisting>
907
908 <para>Show all kernel logs from previous boot:</para>
909
910 <programlisting>journalctl -k -b -1</programlisting>
911
912 <para>Show a live log display from a system service
913 <filename>apache.service</filename>:</para>
914
915 <programlisting>journalctl -f -u apache</programlisting>
916
917 </refsect1>
918
919 <refsect1>
920 <title>See Also</title>
921 <para>
922 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
923 <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
924 <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
925 <citerefentry><refentrytitle>coredumpctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
926 <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
927 <citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
928 <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
929 <citerefentry><refentrytitle>systemd-journal-remote</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
930 <citerefentry><refentrytitle>systemd-journal-upload</refentrytitle><manvolnum>8</manvolnum></citerefentry>
931 </para>
932 </refsect1>
933 </refentry>