blob: e5a867be2262f0fcc1ad2d9eadbf949a1567bcff [file] [log] [blame] [raw]
<?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">
<!--
This file is part of systemd.
Copyright 2012 Lennart Poettering
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
systemd is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
<refentry id="systemd-cat"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>systemd-cat</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-cat</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>systemd-cat</refname>
<refpurpose>Connect a pipeline or program's output with the journal</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>systemd-cat <arg choice="opt" rep="repeat">OPTIONS</arg> <arg>COMMAND</arg> <arg choice="opt" rep="repeat">ARGUMENTS</arg></command>
</cmdsynopsis>
<cmdsynopsis>
<command>systemd-cat <arg choice="opt" rep="repeat">OPTIONS</arg></command>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para><command>systemd-cat</command> may be used to
connect the standard input and output of a process to the
journal, or as a filter tool in a shell pipeline to
pass the output the previous pipeline element
generates to the journal.</para>
<para>If no parameter is passed,
<command>systemd-cat</command> will write
everything it reads from standard input (stdin) to the journal.</para>
<para>If parameters are passed, they are executed as
command line with standard output (stdout) and standard
error output (stderr) connected to the journal, so
that all it writes is stored in the journal.</para>
</refsect1>
<refsect1>
<title>Options</title>
<para>The following options are understood:</para>
<variablelist>
<xi:include href="standard-options.xml" xpointer="help" />
<xi:include href="standard-options.xml" xpointer="version" />
<varlistentry>
<term><option>-t</option></term>
<term><option>--identifier=</option></term>
<listitem><para>Specify a short string
that is used to identify the logging
tool. If not specified, no identification
string is written to the journal.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-p</option></term>
<term><option>--priority=</option></term>
<listitem><para>Specify the default
priority level for the logged
messages. Pass one of
<literal>emerg</literal>,
<literal>alert</literal>,
<literal>crit</literal>,
<literal>err</literal>,
<literal>warning</literal>,
<literal>notice</literal>,
<literal>info</literal>,
<literal>debug</literal>, or a
value between 0 and 7 (corresponding
to the same named levels). These
priority values are the same as
defined by
<citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>. Defaults
to <literal>info</literal>. Note that
this simply controls the default,
individual lines may be logged with
different levels if they are prefixed
accordingly. For details see
<option>--level-prefix=</option>
below.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--level-prefix=</option></term>
<listitem><para>Controls whether lines
read are parsed for syslog priority
level prefixes. If enabled (the
default), a line prefixed with a
priority prefix such as
<literal>&lt;5&gt;</literal> is logged
at priority 5
(<literal>notice</literal>), and
similar for the other priority
levels. Takes a boolean
argument.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Exit status</title>
<para>On success, 0 is returned, a non-zero failure
code otherwise.</para>
</refsect1>
<refsect1>
<title>Examples</title>
<example>
<title>Invoke a program</title>
<para>This calls <filename noindex='true'>/bin/ls</filename>
with standard output and error connected to the
journal:</para>
<programlisting># systemd-cat ls</programlisting>
</example>
<example>
<title>Usage in a shell pipeline</title>
<para>This builds a shell pipeline also
invoking <filename>/bin/ls</filename> and
writes the output it generates to the
journal:</para>
<programlisting># ls | systemd-cat</programlisting>
</example>
<para>Even though the two examples have very similar
effects the first is preferable since only one process
is running at a time, and both stdout and stderr are
captured while in the second example, only stdout is
captured.</para>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>logger</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>