summaryrefslogtreecommitdiff
path: root/man/systemd.journal-fields.xml
diff options
context:
space:
mode:
Diffstat (limited to 'man/systemd.journal-fields.xml')
-rw-r--r--man/systemd.journal-fields.xml1065
1 files changed, 488 insertions, 577 deletions
diff --git a/man/systemd.journal-fields.xml b/man/systemd.journal-fields.xml
index 154b95ac7e..1fd46de31f 100644
--- a/man/systemd.journal-fields.xml
+++ b/man/systemd.journal-fields.xml
@@ -1,6 +1,6 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
This file is part of systemd.
@@ -23,583 +23,494 @@
<refentry id="systemd.journal-fields">
- <refentryinfo>
- <title>systemd.journal-fields</title>
- <productname>systemd</productname>
-
- <authorgroup>
- <author>
- <contrib>Developer</contrib>
- <firstname>Lennart</firstname>
- <surname>Poettering</surname>
- <email>lennart@poettering.net</email>
- </author>
- </authorgroup>
- </refentryinfo>
-
- <refmeta>
- <refentrytitle>systemd.journal-fields</refentrytitle>
- <manvolnum>7</manvolnum>
- </refmeta>
-
- <refnamediv>
- <refname>systemd.journal-fields</refname>
- <refpurpose>Special journal fields</refpurpose>
- </refnamediv>
-
- <refsect1>
- <title>Description</title>
-
- <para>Entries in the journal resemble an environment
- block in their syntax but with fields that can
- include binary data. Primarily, fields are formatted
- UTF-8 text strings, and binary formatting is used only
- where formatting as UTF-8 text strings makes little
- sense. New fields may freely be defined by
- applications, but a few fields have special
- meaning. All fields with special meanings are
- optional. In some cases, fields may appear more than
- once per entry.</para>
- </refsect1>
-
- <refsect1>
- <title>User Journal Fields</title>
-
- <para>User fields are fields that are directly passed
- from clients and stored in the journal.</para>
-
- <variablelist class='journal-directives'>
- <varlistentry>
- <term><varname>MESSAGE=</varname></term>
- <listitem>
- <para>The human-readable
- message string for this
- entry. This is supposed to be
- the primary text shown to the
- user. It is usually not
- translated (but might be in
- some cases), and is not
- supposed to be parsed for meta
- data.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>MESSAGE_ID=</varname></term>
- <listitem>
- <para>A 128-bit message
- identifier ID for recognizing
- certain message types, if this
- is desirable. This should
- contain a 128-bit ID formatted
- as a lower-case hexadecimal
- string, without any separating
- dashes or suchlike. This is
- recommended to be a
- UUID-compatible ID, but this is not
- enforced, and formatted
- differently. Developers can
- generate a new ID for this
- purpose with <command>journalctl
- <option>--new-id</option></command>.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>PRIORITY=</varname></term>
- <listitem>
- <para>A priority value between
- 0 (<literal>emerg</literal>)
- and 7
- (<literal>debug</literal>)
- formatted as a decimal
- string. This field is
- compatible with syslog's
- priority concept.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>CODE_FILE=</varname></term>
- <term><varname>CODE_LINE=</varname></term>
- <term><varname>CODE_FUNC=</varname></term>
- <listitem>
- <para>The code location
- generating this message, if
- known. Contains the source
- filename, the line number and
- the function name.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>ERRNO=</varname></term>
- <listitem>
- <para>The low-level Unix error
- number causing this entry, if
- any. Contains the numeric
- value of
- <citerefentry project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>
- formatted as a decimal
- string.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>SYSLOG_FACILITY=</varname></term>
- <term><varname>SYSLOG_IDENTIFIER=</varname></term>
- <term><varname>SYSLOG_PID=</varname></term>
- <listitem>
- <para>Syslog compatibility
- fields containing the facility
- (formatted as decimal string),
- the identifier string
- (i.e. "tag"), and the client
- PID. (Note that the tag is
- usually derived from glibc's
- <varname>program_invocation_short_name</varname>
- variable, see <citerefentry><refentrytitle>program_invocation_short_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>.)</para>
- </listitem>
-
- </varlistentry>
- </variablelist>
- </refsect1>
-
- <refsect1>
- <title>Trusted Journal Fields</title>
-
- <para>Fields prefixed with an underscore are trusted
- fields, i.e. fields that are implicitly added by the
- journal and cannot be altered by client code.</para>
-
- <variablelist class='journal-directives'>
- <varlistentry>
- <term><varname>_PID=</varname></term>
- <term><varname>_UID=</varname></term>
- <term><varname>_GID=</varname></term>
- <listitem>
- <para>The process, user, and
- group ID of the process the
- journal entry originates from
- formatted as a decimal
- string.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>_COMM=</varname></term>
- <term><varname>_EXE=</varname></term>
- <term><varname>_CMDLINE=</varname></term>
- <listitem>
- <para>The name, the executable
- path, and the command line of
- the process the journal entry
- originates from.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>_CAP_EFFECTIVE=</varname></term>
- <listitem>
- <para>The effective <citerefentry project='man-pages'><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry> of
- the process the journal entry
- originates from.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>_AUDIT_SESSION=</varname></term>
- <term><varname>_AUDIT_LOGINUID=</varname></term>
- <listitem>
- <para>The session and login
- UID of the process the journal
- entry originates from, as
- maintained by the kernel audit
- subsystem.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>_SYSTEMD_CGROUP=</varname></term>
- <term><varname>_SYSTEMD_SESSION=</varname></term>
- <term><varname>_SYSTEMD_UNIT=</varname></term>
- <term><varname>_SYSTEMD_USER_UNIT=</varname></term>
- <term><varname>_SYSTEMD_OWNER_UID=</varname></term>
- <term><varname>_SYSTEMD_SLICE=</varname></term>
-
- <listitem>
- <para>The control group path
- in the systemd hierarchy, the
- systemd session ID (if any),
- the systemd unit name (if
- any), the systemd user session
- unit name (if any), the owner
- UID of the systemd session (if
- any) and the systemd slice
- unit of the process the
- journal entry originates
- from.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>_SELINUX_CONTEXT=</varname></term>
- <listitem>
- <para>The SELinux security
- context (label) of the process
- the journal entry originates
- from.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>_SOURCE_REALTIME_TIMESTAMP=</varname></term>
- <listitem>
- <para>The earliest trusted
- timestamp of the message, if
- any is known that is different
- from the reception time of the
- journal. This is the time in
- microseconds since the epoch UTC,
- formatted as a decimal
- string.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>_BOOT_ID=</varname></term>
- <listitem>
- <para>The kernel boot ID for
- the boot the message was
- generated in, formatted as
- a 128-bit hexadecimal
- string.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>_MACHINE_ID=</varname></term>
- <listitem>
- <para>The machine ID of the
- originating host, as available
- in
- <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>_HOSTNAME=</varname></term>
- <listitem>
- <para>The name of the
- originating host.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>_TRANSPORT=</varname></term>
- <listitem>
- <para>How the entry was
- received by the journal
- service. Valid transports are:
- </para>
- <variablelist>
- <varlistentry>
- <term>
- <option>driver</option>
- </term>
- <listitem>
- <para>for
- internally
- generated
- messages
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <option>syslog</option>
- </term>
- <listitem>
- <para>for those
- received via the
- local syslog
- socket with the
- syslog protocol
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <option>journal</option>
- </term>
- <listitem>
- <para>for those
- received via the
- native journal
- protocol
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <option>stdout</option>
- </term>
- <listitem>
- <para>for those
- read from a
- service's
- standard output
- or error output
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <option>kernel</option>
- </term>
- <listitem>
- <para>for those
- read from the
- kernel
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
-
- <refsect1>
- <title>Kernel Journal Fields</title>
-
- <para>Kernel fields are fields that are used by
- messages originating in the kernel and stored in the
- journal.</para>
-
- <variablelist class='journal-directives'>
- <varlistentry>
- <term><varname>_KERNEL_DEVICE=</varname></term>
- <listitem>
- <para>The kernel device
- name. If the entry is
- associated to a block device,
- the major and minor of the
- device node, separated by <literal>:</literal>
- and prefixed by <literal>b</literal>. Similar
- for character devices but
- prefixed by <literal>c</literal>. For network
- devices, this is the interface index
- prefixed by <literal>n</literal>. For all other
- devices, this is the subsystem name
- prefixed by <literal>+</literal>, followed by
- <literal>:</literal>, followed by the kernel
- device name.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><varname>_KERNEL_SUBSYSTEM=</varname></term>
- <listitem>
- <para>The kernel subsystem name.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><varname>_UDEV_SYSNAME=</varname></term>
- <listitem>
- <para>The kernel device name
- as it shows up in the device
- tree below
- <filename>/sys</filename>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><varname>_UDEV_DEVNODE=</varname></term>
- <listitem>
- <para>The device node path of
- this device in
- <filename>/dev</filename>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><varname>_UDEV_DEVLINK=</varname></term>
- <listitem>
- <para>Additional symlink names
- pointing to the device node in
- <filename>/dev</filename>. This
- field is frequently set more
- than once per entry.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
-
- <refsect1>
- <title>Fields to log on behalf of a different program</title>
-
- <para>Fields in this section are used by programs
- to specify that they are logging on behalf of another
- program or unit.
+ <refentryinfo>
+ <title>systemd.journal-fields</title>
+ <productname>systemd</productname>
+
+ <authorgroup>
+ <author>
+ <contrib>Developer</contrib>
+ <firstname>Lennart</firstname>
+ <surname>Poettering</surname>
+ <email>lennart@poettering.net</email>
+ </author>
+ </authorgroup>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle>systemd.journal-fields</refentrytitle>
+ <manvolnum>7</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>systemd.journal-fields</refname>
+ <refpurpose>Special journal fields</refpurpose>
+ </refnamediv>
+
+ <refsect1>
+ <title>Description</title>
+
+ <para>Entries in the journal resemble an environment block in
+ their syntax but with fields that can include binary data.
+ Primarily, fields are formatted UTF-8 text strings, and binary
+ formatting is used only where formatting as UTF-8 text strings
+ makes little sense. New fields may freely be defined by
+ applications, but a few fields have special meaning. All fields
+ with special meanings are optional. In some cases, fields may
+ appear more than once per entry.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>User Journal Fields</title>
+
+ <para>User fields are fields that are directly passed from clients
+ and stored in the journal.</para>
+
+ <variablelist class='journal-directives'>
+ <varlistentry>
+ <term><varname>MESSAGE=</varname></term>
+ <listitem>
+ <para>The human-readable message string for this entry. This
+ is supposed to be the primary text shown to the user. It is
+ usually not translated (but might be in some cases), and is
+ not supposed to be parsed for meta data.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>MESSAGE_ID=</varname></term>
+ <listitem>
+ <para>A 128-bit message identifier ID for recognizing
+ certain message types, if this is desirable. This should
+ contain a 128-bit ID formatted as a lower-case hexadecimal
+ string, without any separating dashes or suchlike. This is
+ recommended to be a UUID-compatible ID, but this is not
+ enforced, and formatted differently. Developers can generate
+ a new ID for this purpose with <command>journalctl
+ <option>--new-id</option></command>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>PRIORITY=</varname></term>
+ <listitem>
+ <para>A priority value between 0 (<literal>emerg</literal>)
+ and 7 (<literal>debug</literal>) formatted as a decimal
+ string. This field is compatible with syslog's priority
+ concept.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>CODE_FILE=</varname></term>
+ <term><varname>CODE_LINE=</varname></term>
+ <term><varname>CODE_FUNC=</varname></term>
+ <listitem>
+ <para>The code location generating this message, if known.
+ Contains the source filename, the line number and the
+ function name.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>ERRNO=</varname></term>
+ <listitem>
+ <para>The low-level Unix error number causing this entry, if
+ any. Contains the numeric value of
+ <citerefentry project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ formatted as a decimal string.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>SYSLOG_FACILITY=</varname></term>
+ <term><varname>SYSLOG_IDENTIFIER=</varname></term>
+ <term><varname>SYSLOG_PID=</varname></term>
+ <listitem>
+ <para>Syslog compatibility fields containing the facility
+ (formatted as decimal string), the identifier string (i.e.
+ "tag"), and the client PID. (Note that the tag is usually
+ derived from glibc's
+ <varname>program_invocation_short_name</varname> variable,
+ see
+ <citerefentry><refentrytitle>program_invocation_short_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>.)</para>
+ </listitem>
+
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>Trusted Journal Fields</title>
+
+ <para>Fields prefixed with an underscore are trusted fields, i.e.
+ fields that are implicitly added by the journal and cannot be
+ altered by client code.</para>
+
+ <variablelist class='journal-directives'>
+ <varlistentry>
+ <term><varname>_PID=</varname></term>
+ <term><varname>_UID=</varname></term>
+ <term><varname>_GID=</varname></term>
+ <listitem>
+ <para>The process, user, and group ID of the process the
+ journal entry originates from formatted as a decimal
+ string.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>_COMM=</varname></term>
+ <term><varname>_EXE=</varname></term>
+ <term><varname>_CMDLINE=</varname></term>
+ <listitem>
+ <para>The name, the executable path, and the command line of
+ the process the journal entry originates from.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>_CAP_EFFECTIVE=</varname></term>
+ <listitem>
+ <para>The effective
+ <citerefentry project='man-pages'><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ of the process the journal entry originates from.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>_AUDIT_SESSION=</varname></term>
+ <term><varname>_AUDIT_LOGINUID=</varname></term>
+ <listitem>
+ <para>The session and login UID of the process the journal
+ entry originates from, as maintained by the kernel audit
+ subsystem.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>_SYSTEMD_CGROUP=</varname></term>
+ <term><varname>_SYSTEMD_SESSION=</varname></term>
+ <term><varname>_SYSTEMD_UNIT=</varname></term>
+ <term><varname>_SYSTEMD_USER_UNIT=</varname></term>
+ <term><varname>_SYSTEMD_OWNER_UID=</varname></term>
+ <term><varname>_SYSTEMD_SLICE=</varname></term>
+
+ <listitem>
+ <para>The control group path in the systemd hierarchy, the
+ systemd session ID (if any), the systemd unit name (if any),
+ the systemd user session unit name (if any), the owner UID
+ of the systemd session (if any) and the systemd slice unit
+ of the process the journal entry originates from.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>_SELINUX_CONTEXT=</varname></term>
+ <listitem>
+ <para>The SELinux security context (label) of the process
+ the journal entry originates from.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>_SOURCE_REALTIME_TIMESTAMP=</varname></term>
+ <listitem>
+ <para>The earliest trusted timestamp of the message, if any
+ is known that is different from the reception time of the
+ journal. This is the time in microseconds since the epoch
+ UTC, formatted as a decimal string.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>_BOOT_ID=</varname></term>
+ <listitem>
+ <para>The kernel boot ID for the boot the message was
+ generated in, formatted as a 128-bit hexadecimal
+ string.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>_MACHINE_ID=</varname></term>
+ <listitem>
+ <para>The machine ID of the originating host, as available
+ in
+ <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>_HOSTNAME=</varname></term>
+ <listitem>
+ <para>The name of the originating host.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>_TRANSPORT=</varname></term>
+ <listitem>
+ <para>How the entry was received by the journal service.
+ Valid transports are:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>
+ <option>driver</option>
+ </term>
+ <listitem>
+ <para>for internally generated messages
</para>
-
- <para>Fields used by the <command>systemd-coredump</command>
- coredump kernel helper:
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>syslog</option>
+ </term>
+ <listitem>
+ <para>for those received via the local syslog socket
+ with the syslog protocol
</para>
-
- <variablelist class='journal-directives'>
- <varlistentry>
- <term><varname>COREDUMP_UNIT=</varname></term>
- <term><varname>COREDUMP_USER_UNIT=</varname></term>
- <listitem>
- <para>Used to annotate
- messages containing coredumps from
- system and session units.
- See
- <citerefentry><refentrytitle>coredumpctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Priviledged programs (currently UID 0) may
- attach <varname>OBJECT_PID=</varname> to a
- message. This will instruct
- <command>systemd-journald</command> to attach
- additional fields on behalf of the caller:</para>
-
- <variablelist class='journal-directives'>
- <varlistentry>
- <term><varname>OBJECT_PID=<replaceable>PID</replaceable></varname></term>
- <listitem>
- <para>PID of the program that this
- message pertains to.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>OBJECT_UID=</varname></term>
- <term><varname>OBJECT_GID=</varname></term>
- <term><varname>OBJECT_COMM=</varname></term>
- <term><varname>OBJECT_EXE=</varname></term>
- <term><varname>OBJECT_CMDLINE=</varname></term>
- <term><varname>OBJECT_AUDIT_SESSION=</varname></term>
- <term><varname>OBJECT_AUDIT_LOGINUID=</varname></term>
- <term><varname>OBJECT_SYSTEMD_CGROUP=</varname></term>
- <term><varname>OBJECT_SYSTEMD_SESSION=</varname></term>
- <term><varname>OBJECT_SYSTEMD_OWNER_UID=</varname></term>
- <term><varname>OBJECT_SYSTEMD_UNIT=</varname></term>
- <term><varname>OBJECT_SYSTEMD_USER_UNIT=</varname></term>
- <listitem>
- <para>These are additional fields added automatically
- by <command>systemd-journald</command>.
- Their meaning is the same as
- <varname>_UID=</varname>,
- <varname>_GID=</varname>,
- <varname>_COMM=</varname>,
- <varname>_EXE=</varname>,
- <varname>_CMDLINE=</varname>,
- <varname>_AUDIT_SESSION=</varname>,
- <varname>_AUDIT_LOGINUID=</varname>,
- <varname>_SYSTEMD_CGROUP=</varname>,
- <varname>_SYSTEMD_SESSION=</varname>,
- <varname>_SYSTEMD_UNIT=</varname>,
- <varname>_SYSTEMD_USER_UNIT=</varname>, and
- <varname>_SYSTEMD_OWNER_UID=</varname>
- as described above, except that the
- process identified by <replaceable>PID</replaceable>
- is described, instead of the process
- which logged the message.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
-
- </refsect1>
-
- <refsect1>
- <title>Address Fields</title>
-
- <para>During serialization into external formats, such
- as the <ulink
- url="http://www.freedesktop.org/wiki/Software/systemd/export">Journal
- Export Format</ulink> or the <ulink
- url="http://www.freedesktop.org/wiki/Software/systemd/json">Journal
- JSON Format</ulink>, the addresses of journal entries
- are serialized into fields prefixed with double
- underscores. Note that these are not proper fields when
- stored in the journal but for addressing metadata of
- entries. They cannot be written as part of structured
- log entries via calls such as
- <citerefentry><refentrytitle>sd_journal_send</refentrytitle><manvolnum>3</manvolnum></citerefentry>. They
- may also not be used as matches for
- <citerefentry><refentrytitle>sd_journal_add_match</refentrytitle><manvolnum>3</manvolnum></citerefentry></para>
-
- <variablelist class='journal-directives'>
- <varlistentry>
- <term><varname>__CURSOR=</varname></term>
- <listitem>
- <para>The cursor for the
- entry. A cursor is an opaque
- text string that uniquely
- describes the position of an
- entry in the journal and is
- portable across machines,
- platforms and journal files.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>__REALTIME_TIMESTAMP=</varname></term>
- <listitem>
- <para>The wallclock time
- (<constant>CLOCK_REALTIME</constant>)
- at the point in time the entry
- was received by the journal,
- in microseconds since the epoch
- UTC, formatted as a decimal
- string. This has different
- properties from
- <literal>_SOURCE_REALTIME_TIMESTAMP=</literal>,
- as it is usually a bit later
- but more likely to be monotonic.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>__MONOTONIC_TIMESTAMP=</varname></term>
- <listitem>
- <para>The monotonic time
- (<constant>CLOCK_MONOTONIC</constant>)
- at the point in time the entry
- was received by the journal in
- microseconds, formatted as a decimal
- string. To be useful as an
- address for the entry, this
- should be combined with the
- boot ID in <literal>_BOOT_ID=</literal>.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
-
- <refsect1>
- <title>See Also</title>
- <para>
- <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>coredumpctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
- </para>
- </refsect1>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>journal</option>
+ </term>
+ <listitem>
+ <para>for those received via the native journal
+ protocol
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>stdout</option>
+ </term>
+ <listitem>
+ <para>for those read from a service's standard output
+ or error output
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>kernel</option>
+ </term>
+ <listitem>
+ <para>for those read from the kernel
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>Kernel Journal Fields</title>
+
+ <para>Kernel fields are fields that are used by messages
+ originating in the kernel and stored in the journal.</para>
+
+ <variablelist class='journal-directives'>
+ <varlistentry>
+ <term><varname>_KERNEL_DEVICE=</varname></term>
+ <listitem>
+ <para>The kernel device name. If the entry is associated to
+ a block device, the major and minor of the device node,
+ separated by <literal>:</literal> and prefixed by
+ <literal>b</literal>. Similar for character devices but
+ prefixed by <literal>c</literal>. For network devices, this
+ is the interface index prefixed by <literal>n</literal>. For
+ all other devices, this is the subsystem name prefixed by
+ <literal>+</literal>, followed by <literal>:</literal>,
+ followed by the kernel device name.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>_KERNEL_SUBSYSTEM=</varname></term>
+ <listitem>
+ <para>The kernel subsystem name.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>_UDEV_SYSNAME=</varname></term>
+ <listitem>
+ <para>The kernel device name as it shows up in the device
+ tree below <filename>/sys</filename>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>_UDEV_DEVNODE=</varname></term>
+ <listitem>
+ <para>The device node path of this device in
+ <filename>/dev</filename>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>_UDEV_DEVLINK=</varname></term>
+ <listitem>
+ <para>Additional symlink names pointing to the device node
+ in <filename>/dev</filename>. This field is frequently set
+ more than once per entry.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>Fields to log on behalf of a different program</title>
+
+ <para>Fields in this section are used by programs to specify that
+ they are logging on behalf of another program or unit.
+ </para>
+
+ <para>Fields used by the <command>systemd-coredump</command>
+ coredump kernel helper:
+ </para>
+
+ <variablelist class='journal-directives'>
+ <varlistentry>
+ <term><varname>COREDUMP_UNIT=</varname></term>
+ <term><varname>COREDUMP_USER_UNIT=</varname></term>
+ <listitem>
+ <para>Used to annotate messages containing coredumps from
+ system and session units. See
+ <citerefentry><refentrytitle>coredumpctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Priviledged programs (currently UID 0) may attach
+ <varname>OBJECT_PID=</varname> to a message. This will instruct
+ <command>systemd-journald</command> to attach additional fields on
+ behalf of the caller:</para>
+
+ <variablelist class='journal-directives'>
+ <varlistentry>
+ <term><varname>OBJECT_PID=<replaceable>PID</replaceable></varname></term>
+ <listitem>
+ <para>PID of the program that this message pertains to.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>OBJECT_UID=</varname></term>
+ <term><varname>OBJECT_GID=</varname></term>
+ <term><varname>OBJECT_COMM=</varname></term>
+ <term><varname>OBJECT_EXE=</varname></term>
+ <term><varname>OBJECT_CMDLINE=</varname></term>
+ <term><varname>OBJECT_AUDIT_SESSION=</varname></term>
+ <term><varname>OBJECT_AUDIT_LOGINUID=</varname></term>
+ <term><varname>OBJECT_SYSTEMD_CGROUP=</varname></term>
+ <term><varname>OBJECT_SYSTEMD_SESSION=</varname></term>
+ <term><varname>OBJECT_SYSTEMD_OWNER_UID=</varname></term>
+ <term><varname>OBJECT_SYSTEMD_UNIT=</varname></term>
+ <term><varname>OBJECT_SYSTEMD_USER_UNIT=</varname></term>
+ <listitem>
+ <para>These are additional fields added automatically by
+ <command>systemd-journald</command>. Their meaning is the
+ same as
+ <varname>_UID=</varname>,
+ <varname>_GID=</varname>,
+ <varname>_COMM=</varname>,
+ <varname>_EXE=</varname>,
+ <varname>_CMDLINE=</varname>,
+ <varname>_AUDIT_SESSION=</varname>,
+ <varname>_AUDIT_LOGINUID=</varname>,
+ <varname>_SYSTEMD_CGROUP=</varname>,
+ <varname>_SYSTEMD_SESSION=</varname>,
+ <varname>_SYSTEMD_UNIT=</varname>,
+ <varname>_SYSTEMD_USER_UNIT=</varname>, and
+ <varname>_SYSTEMD_OWNER_UID=</varname>
+ as described above, except that the process identified by
+ <replaceable>PID</replaceable> is described, instead of the
+ process which logged the message.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ </refsect1>
+
+ <refsect1>
+ <title>Address Fields</title>
+
+ <para>During serialization into external formats, such as the
+ <ulink
+ url="http://www.freedesktop.org/wiki/Software/systemd/export">Journal
+ Export Format</ulink> or the <ulink
+ url="http://www.freedesktop.org/wiki/Software/systemd/json">Journal
+ JSON Format</ulink>, the addresses of journal entries are
+ serialized into fields prefixed with double underscores. Note that
+ these are not proper fields when stored in the journal but for
+ addressing metadata of entries. They cannot be written as part of
+ structured log entries via calls such as
+ <citerefentry><refentrytitle>sd_journal_send</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+ They may also not be used as matches for
+ <citerefentry><refentrytitle>sd_journal_add_match</refentrytitle><manvolnum>3</manvolnum></citerefentry></para>
+
+ <variablelist class='journal-directives'>
+ <varlistentry>
+ <term><varname>__CURSOR=</varname></term>
+ <listitem>
+ <para>The cursor for the entry. A cursor is an opaque text
+ string that uniquely describes the position of an entry in
+ the journal and is portable across machines, platforms and
+ journal files.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>__REALTIME_TIMESTAMP=</varname></term>
+ <listitem>
+ <para>The wallclock time
+ (<constant>CLOCK_REALTIME</constant>) at the point in time
+ the entry was received by the journal, in microseconds since
+ the epoch UTC, formatted as a decimal string. This has
+ different properties from
+ <literal>_SOURCE_REALTIME_TIMESTAMP=</literal>, as it is
+ usually a bit later but more likely to be monotonic.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>__MONOTONIC_TIMESTAMP=</varname></term>
+ <listitem>
+ <para>The monotonic time
+ (<constant>CLOCK_MONOTONIC</constant>) at the point in time
+ the entry was received by the journal in microseconds,
+ formatted as a decimal string. To be useful as an address
+ for the entry, this should be combined with the boot ID in
+ <literal>_BOOT_ID=</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>coredumpctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ </para>
+ </refsect1>
</refentry>