# Journal File Format
-_Note that this document describes the binary on-disk format of journals
-only. For interfacing with web technologies there's the [Journal JSON
-Format](https://www.freedesktop.org/wiki/Software/systemd/json). For transfer
-of journal data across the network there's the [Journal Export
-Format](https://www.freedesktop.org/wiki/Software/systemd/export)._
+_Note that this document describes the binary on-disk format of journals only.
+For interfacing with web technologies there's the [Journal JSON Format](https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-json-format).
+For transfer of journal data across the network there's the [Journal Export Format](https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format)._
The systemd journal stores log data in a binary format with several features:
If you need access to the raw journal data in serialized stream form without C
API our recommendation is to make use of the [Journal Export
-Format](https://www.freedesktop.org/wiki/Software/systemd/export), which you can
-get via "journalctl -o export" or via systemd-journal-gatewayd. The export
+Format](https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format), which you can
+get via `journalctl -o export` or via `systemd-journal-gatewayd`. The export
format is much simpler to parse, but complete and accurate. Due to its
stream-based nature it is not indexed.
you want to use as base of your project. You want our [C
API](https://www.freedesktop.org/software/systemd/man/sd-journal.html) instead!
And if you really don't want the C API, then you want the [Journal Export
-Format](https://www.freedesktop.org/wiki/Software/systemd/export) instead! This
-document is primarily for your entertainment and education. Thank you!_
+Format or Journal JSON Format](https://systemd.io/JOURNAL_EXPORT_FORMATS) instead!
+This document is primarily for your entertainment and education. Thank you!_
This document assumes you have a basic understanding of the journal concepts,
the properties of a journal entry and so on. If not, please go and read up,
| [Network](https://www.freedesktop.org/software/systemd/man/systemd.network.html) & [Netdev file format](https://www.freedesktop.org/software/systemd/man/systemd.netdev.html) | File format | yes | yes | no | no | - | no |
| [Link file format](https://www.freedesktop.org/software/systemd/man/systemd.link.html) | File format | yes | yes | no | no | - | no |
| [Journal File Format](https://systemd.io/JOURNAL_FILE_FORMAT) | File format | yes | yes | - | maybe | - | no |
-| [Journal Export Format](https://www.freedesktop.org/wiki/Software/systemd/export) | File format | yes | yes | - | yes | - | no |
+| [Journal Export Format](https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format) | File format | yes | yes | - | yes | - | no |
| [Cooperation in cgroup tree](https://www.freedesktop.org/wiki/Software/systemd/PaxControlGroups) | Treaty | yes | yes | libvirt | yes | libvirt | no |
| [Password Agents](https://systemd.io/PASSWORD_AGENTS) | Socket+Files | yes | yes | - | yes | - | no |
| [udev multi-seat properties](https://www.freedesktop.org/software/systemd/man/sd-login.html) | udev Property | yes | yes | X11, gdm | no | - | no |
<para>serializes the journal into a binary (but mostly
text-based) stream suitable for backups and network
transfer (see
- <ulink url="https://www.freedesktop.org/wiki/Software/systemd/export">Journal Export Format</ulink>
+ <ulink url="https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format">Journal Export Format</ulink>
for more information). To import the binary stream back
into native journald format use
<citerefentry><refentrytitle>systemd-journal-remote</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
</term>
<listitem>
<para>formats entries as JSON objects, separated by newline characters (see <ulink
- url="https://www.freedesktop.org/wiki/Software/systemd/json">Journal JSON Format</ulink> for more
+ url="https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-json-format">Journal JSON Format</ulink> for more
information). Field values are generally encoded as JSON strings, with three exceptions:
<orderedlist>
<listitem><para>Fields larger than 4096 bytes are encoded as <constant>null</constant> values. (This
<para>It is also possible to invoke <command>systemd-coredump</command> with
<option>--backtrace</option> option. In this case, <command>systemd-coredump</command> expects a
journal entry in the journal
- <ulink url="https://www.freedesktop.org/wiki/Software/systemd/export">Journal Export Format</ulink>
+ <ulink url="https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format">Journal Export Format</ulink>
on standard input. The entry should contain a <varname>MESSAGE=</varname> field and any additional
metadata fields the caller deems reasonable. <command>systemd-coredump</command> will append additional
metadata fields in the same way it does for core dumps received from the kernel. In this mode, no core
<listitem><para>Entries are formatted as JSON data structures,
one per line
(like <command>journalctl --output json</command>).
- See <ulink
- url="https://www.freedesktop.org/wiki/Software/systemd/json">Journal
- JSON Format</ulink> for more information.</para>
+ See <ulink url="https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-json-format">Journal JSON Format</ulink>
+ for more information.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>application/vnd.fdo.journal</constant></term>
- <listitem><para>Entries are serialized into a binary (but
- mostly text-based) stream suitable for backups and network
- transfer
- (like <command>journalctl --output export</command>).
- See <ulink
- url="https://www.freedesktop.org/wiki/Software/systemd/export">Journal
- Export Format</ulink> for more information.</para>
+ <listitem><para>Entries are serialized into a binary (but mostly text-based) stream suitable for
+ backups and network transfer (like <command>journalctl --output export</command>). See <ulink
+ url="https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format">Journal Export Format</ulink>
+ for more information.</para>
</listitem>
</varlistentry>
</variablelist>
<refsect1>
<title>Examples</title>
- <para>Retrieve events from this boot from local journal
- in <ulink
- url="https://www.freedesktop.org/wiki/Software/systemd/export">Journal
- Export Format</ulink>:
+ <para>Retrieve events from this boot from local journal in
+ <ulink url="https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format">Journal Export Format</ulink>:
<programlisting>curl --silent -H'Accept: application/vnd.fdo.journal' \
'http://localhost:19531/entries?boot'</programlisting>
</para>
<para><command>systemd-journal-remote</command> is a command to receive serialized journal
events and store them to journal files. Input streams are in the
- <ulink url="https://www.freedesktop.org/wiki/Software/systemd/export">Journal Export Format</ulink>,
+ <ulink url="https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format">Journal Export Format</ulink>,
i.e. like the output from <command>journalctl --output=export</command>. For transport over the
network, this serialized stream is usually carried over an HTTPS connection.</para>
<title>Address Fields</title>
<para>During serialization into external formats, such as the
- <ulink
- url="https://www.freedesktop.org/wiki/Software/systemd/export">Journal
- Export Format</ulink> or the <ulink
- url="https://www.freedesktop.org/wiki/Software/systemd/json">Journal
- JSON Format</ulink>, the addresses of journal entries are
+ <ulink url="https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format">Journal Export Format</ulink>
+ or the
+ <ulink url="https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-json-format">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