From 08beb9f3e2988429bf02a63ece3efe996a152459 Mon Sep 17 00:00:00 2001
From: Satoru SATOH <satoru.satoh@gmail.com>
Date: Tue, 19 Aug 2008 18:38:35 +0900
Subject: [PATCH] man-i18n: add docbook xml sources for man files

---
 man/C/rsyslog.conf.5.xml  | 1020 +++++++++++++++++++++++++++++++++++++++++++++
 man/C/rsyslogd.8.xml      |  667 +++++++++++++++++++++++++++++
 man/ja/rsyslog.conf.5.xml | 1020 +++++++++++++++++++++++++++++++++++++++++++++
 man/ja/rsyslogd.8.xml     |  667 +++++++++++++++++++++++++++++
 4 files changed, 3374 insertions(+), 0 deletions(-)
 create mode 100644 man/C/rsyslog.conf.5.xml
 create mode 100644 man/C/rsyslogd.8.xml
 create mode 100644 man/ja/rsyslog.conf.5.xml
 create mode 100644 man/ja/rsyslogd.8.xml

diff --git a/man/C/rsyslog.conf.5.xml b/man/C/rsyslog.conf.5.xml
new file mode 100644
index 0000000..78aece6
--- /dev/null
+++ b/man/C/rsyslog.conf.5.xml
@@ -0,0 +1,1020 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<!-- lifted from troff+man by doclifter -->
+<refentry id="rsyslogconf5">
+  <!--  rsyslog.conf \- rsyslogd(8) configuration file -->
+  <!--  Copyright 2003\-2008 Rainer Gerhards and Adiscon GmbH. -->
+  <!--   -->
+  <!--  This file is part of the rsyslog  package, an enhanced system log daemon. -->
+  <!--   -->
+  <!--  This program is free software; you can redistribute it and/or modify -->
+  <!--  it under the terms of the GNU General Public License as published by -->
+  <!--  the Free Software Foundation; either version 2 of the License, or -->
+  <!--  (at your option) any later version. -->
+  <!--   -->
+  <!--  This program 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 General Public License for more details. -->
+  <!--   -->
+  <!--  You should have received a copy of the GNU General Public License -->
+  <!--  along with this program; if not, write to the Free Software -->
+  <!--  Foundation, Inc., 59 Temple Place \- Suite 330, Boston, MA 02111, USA. -->
+  <refentryinfo>
+    <date>11 July 2008</date>
+  </refentryinfo>
+  <refmeta>
+    <refentrytitle>RSYSLOG.CONF</refentrytitle>
+    <manvolnum>5</manvolnum>
+    <refmiscinfo class="date">11 July 2008</refmiscinfo>
+    <refmiscinfo class="source">Version 3.18.0</refmiscinfo>
+    <refmiscinfo class="manual">Linux System Administration</refmiscinfo>
+  </refmeta>
+  <refnamediv id="name">
+    <refname>rsyslog.conf</refname>
+    <refpurpose>rsyslogd(8) configuration file</refpurpose>
+  </refnamediv>
+  <!-- body begins here -->
+  <refsect1 id="description">
+    <title>DESCRIPTION</title>
+    <para>The
+<emphasis remap="I">rsyslog.conf</emphasis>
+file is the main configuration file for the
+<citerefentry><refentrytitle>rsyslogd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+which logs system messages on *nix systems.  This file specifies rules
+for logging.  For special features see the
+<citerefentry><refentrytitle>rsyslogd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+manpage. Rsyslog.conf is backward-compatible with sysklogd's syslog.conf file. So if you migrate
+from sysklogd you can rename it and it should work.</para>
+    <para><emphasis remap="B">Note that this version of rsyslog ships with extensive documentation in html format.</emphasis>
+This is provided in the ./doc subdirectory and probably
+in a separate package if you installed rsyslog via a packaging system.
+To use rsyslog's advanced features, you
+<emphasis remap="B">need</emphasis>
+to look at the html documentation, because the man pages only cover
+basic aspects of operation.</para>
+  </refsect1>
+  <refsect1 id="modules">
+    <title>MODULES</title>
+    <para>Rsyslog has a modular design. Consequently, there is a growing number
+of modules. See the html documentation for their full description.</para>
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <emphasis remap="I">omsnmp</emphasis>
+        </term>
+        <listitem>
+          <para>SNMP trap output module</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="I">omgssapi</emphasis>
+        </term>
+        <listitem>
+          <para>Output module for GSS-enabled syslog</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="I">ommysql</emphasis>
+        </term>
+        <listitem>
+          <para>Output module for MySQL</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="I">omrelp</emphasis>
+        </term>
+        <listitem>
+          <para>Output module for the reliable RELP protocol (prevents message loss). 
+For details, see below at imrelp and the html documentation.
+It can be used like this:</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <para>*.*  :omrelp:server:port</para>
+    <para>*.*  :omrelp:192.168.0.1:2514 # actual sample</para>
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <emphasis remap="I">ompgsql</emphasis>
+        </term>
+        <listitem>
+          <para>Output module for PostgreSQL</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="I">omlibdbi</emphasis>
+        </term>
+        <listitem>
+          <para>Generic database output module (Firebird/Interbase, MS SQL, Sybase,
+SQLite, Ingres, Oracle, mSQL)</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="I">imfile</emphasis>
+        </term>
+        <listitem>
+          <para>Input module for text files</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="I">imudp</emphasis>
+        </term>
+        <listitem>
+          <para>Input plugin for UDP syslog. Replaces the deprecated -r option. Can be
+used like this:</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <para>$ModLoad imudp</para>
+    <para>$InputUDPServerRun 514</para>
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <emphasis remap="I">imtcp</emphasis>
+        </term>
+        <listitem>
+          <para>Input plugin for plain TCP syslog. Replaces the deprecated -t
+option. Can be used like this:</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <para>$ModLoad imtcp</para>
+    <para>$InputTCPServerRun 514</para>
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <emphasis remap="I">imtcp</emphasis>
+        </term>
+        <listitem>
+          <para>Input plugin for the RELP protocol. RELP can be used instead
+of UDP or plain TCP syslog to provide reliable delivery of
+syslog messages. Please note that plain TCP syslog does NOT
+provide truly reliable delivery, with it messages may be lost
+when there is a connection problem or the server shuts down.
+RELP prevents message loss in those cases.
+It can be used like this:</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <para>$ModLoad imrelp</para>
+    <para>$InputRELPServerRun 2514</para>
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <emphasis remap="I">imgssapi</emphasis>
+        </term>
+        <listitem>
+          <para>Input plugin for plain TCP and GSS-enable syslog</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="I">immark</emphasis>
+        </term>
+        <listitem>
+          <para>Support for mark messages</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="I">imklog</emphasis>
+        </term>
+        <listitem>
+          <para>Kernel logging. To include kernel log messages, you need to do</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <para>$ModLoad imklog</para>
+    <para>Please note that the klogd daemon is no longer necessary and consequently
+no longer provided by the rsyslog package.</para>
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <emphasis remap="I">imuxsock</emphasis>
+        </term>
+        <listitem>
+          <para>Unix sockets, including the system log socket. You need to specify</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <para>$ModLoad imudp</para>
+    <para>in order to receive log messages from local system processes. This
+config directive should only left out if you know exactly what you
+are doing.</para>
+  </refsect1>
+  <refsect1 id="basic_structure">
+    <title>BASIC STRUCTURE</title>
+    <para>Lines starting with a hash mark ('#') and empty lines are ignored. 
+Rsyslog.conf should contain following sections (sorted by recommended order in file):</para>
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>Global directives</term>
+        <listitem>
+          <para>Global directives set some global properties of whole rsyslog daemon, for example size of main
+message queue ($MainMessageQueueSize), loading external modules ($ModLoad) and so on.
+All global directives need to be specified on a line by their own and must start with 
+a dollar-sign. The complete list of global directives can be found in html documentation in doc 
+directory or online on web pages.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>Templates</term>
+        <listitem>
+          <para>Templates allow you to specify format of the logged message. They are also used for dynamic 
+file name generation. They have to be defined before they are used in rules. For more info 
+about templates see TEMPLATES section of this manpage.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>Output channels</term>
+        <listitem>
+          <para>Output channels provide an umbrella for any type of output that the user might want. 
+They have to be defined before they are used in rules. For more info about output channels
+see OUTPUT CHANNELS section of this manpage.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>Rules (selector + action)</term>
+        <listitem>
+          <para>Every rule line consists of two fields, a selector field and an action field. These 
+two fields are separated by one or more spaces or tabs. The selector field specifies 
+a pattern of facilities and priorities belonging to the specified action.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1 id="actions">
+    <title>ACTIONS</title>
+    <para>The action field of a rule describes what to do with the message. In general, message content 
+is written to a kind of "logfile". But also other actions might be done, like writing to a 
+database table or forwarding to another host.</para>
+    <refsect2 id="regular_file">
+      <title>Regular file</title>
+      <para>Typically messages are logged to real files. The file has to be specified with full pathname, 
+beginning with a slash ('/').</para>
+      <para>
+        <emphasis remap="B">Example:</emphasis>
+      </para>
+      <literallayout remap="RS">
+*.*     /var/log/traditionalfile.log;RSYSLOG_TraditionalFormat      # log to a file in the traditional format
+</literallayout>
+      <!-- remap='RE' -->
+      <para>Note: if you would like to use high-precision timestamps in your log files,
+just remove the ";RSYSLOG_TraditionalFormat". That will select the default
+template, which, if not changed, uses RFC 3339 timestamps.</para>
+      <para>
+        <emphasis remap="B">Example:</emphasis>
+      </para>
+      <literallayout remap="RS">
+*.*     /var/log/file.log # log to a file with RFC3339 timestamps
+</literallayout>
+      <!-- remap='RE' -->
+    </refsect2>
+    <refsect2 id="named_pipes">
+      <title>Named pipes</title>
+      <para>This version of rsyslogd(8) has support for logging output to named pipes (fifos). A fifo or 
+named pipe can be used as a destination for log messages by prepending a pipe symbol ('|') 
+to the name of the file. This is handy for debugging. Note that the fifo must be created with 
+the mkfifo(1) command before rsyslogd(8) is started.</para>
+    </refsect2>
+    <refsect2 id="terminal_and_console">
+      <title>Terminal and console</title>
+      <para>If the file you specified is a tty, special tty-handling is done, same with /dev/console.</para>
+    </refsect2>
+    <refsect2 id="remote_machine">
+      <title>Remote machine</title>
+      <para>There are three ways to forward message: the traditional UDP transport, which is extremely
+lossy but standard, the plain TCP based transport which loses messages only during certain
+situations but is widely available and the RELP transport which does not lose messages
+but is currently available only as part of rsyslogd 3.15.0 and above.</para>
+      <para>To forward messages to another host via UDP, prepend the hostname with the at sign ("@").
+To forward it via plain tcp, prepend two at signs ("@@"). To forward via RELP, prepend the
+string ":omrelp:" in front of the hostname.</para>
+      <para>
+        <emphasis remap="B">Example:</emphasis>
+      </para>
+      <literallayout remap="RS">
+*.* @192.168.0.1
+</literallayout>
+      <!-- remap='RE' -->
+      <para>In the example above, messages are forwarded via UDP to the machine 192.168.0.1, the destination 
+port defaults to 514. Due to the nature of UDP, you will probably lose some messages in transit.
+If you expect high traffic volume, you can expect to lose a quite noticeable number of messages
+(the higher the traffic, the more likely and severe is message loss).</para>
+      <para>
+        <emphasis remap="B">If you would like to prevent message loss, use RELP:</emphasis>
+      </para>
+      <literallayout remap="RS">
+*.* :omrelp:192.168.0.1:2514
+</literallayout>
+      <!-- remap='RE' -->
+      <para>Note that a port number was given as there is no standard port for relp.</para>
+      <para>Keep in mind that you need to load the correct input and output plugins (see "Modules" above).</para>
+      <para>Please note that rsyslogd offers a variety of options in regarding to remote
+forwarding. For full details, please see the html documentation.</para>
+    </refsect2>
+    <refsect2 id="list_of_users">
+      <title>List of users</title>
+      <para>Usually critical messages are also directed to &#8220;root&#8221; on that machine. You can specify a list 
+of users that shall get the message by simply writing the login. You may specify more than one 
+user by separating them with commas (','). If they're logged in they get the message. Don't 
+think a mail would be sent, that might be too late.</para>
+    </refsect2>
+    <refsect2 id="everyone_logged_on">
+      <title>Everyone logged on</title>
+      <para>Emergency messages often go to all users currently online to notify them that something strange 
+is happening with the system. To specify this wall(1)-feature use an asterisk ('*').</para>
+    </refsect2>
+    <refsect2 id="database_table">
+      <title>Database table</title>
+      <para>This allows logging of the message to a database table.
+By default, a MonitorWare-compatible schema is required for this to work. You can 
+create that schema with the createDB.SQL file that came with the rsyslog package. You can also
+use any other schema of your liking - you just need to define a proper template and assign this 
+template to the action.</para>
+      <para>See the html documentation for further details on database logging.</para>
+    </refsect2>
+    <refsect2 id="discard">
+      <title>Discard</title>
+      <para>If the discard action is carried out, the received message is immediately discarded. Discard 
+can be highly effective if you want to filter out some annoying messages that otherwise would 
+fill your log files. To do that, place the discard actions early in your log files. 
+This often plays well with property-based filters, giving you great freedom in specifying 
+what you do not want.</para>
+      <para>Discard is just the single tilde character with no further parameters.</para>
+      <para>
+        <emphasis remap="B">Example:</emphasis>
+      </para>
+      <literallayout remap="RS">
+*.*   ~      # discards everything.
+</literallayout>
+      <!-- remap='RE' -->
+    </refsect2>
+    <refsect2 id="output_channel">
+      <title>Output channel</title>
+      <para>Binds an output channel definition (see there for details) to this action. Output channel actions 
+must start with a $-sign, e.g. if you would like to bind your output channel definition "mychannel"
+to the action, use "$mychannel". Output channels support template definitions like all all other 
+actions.</para>
+    </refsect2>
+    <refsect2 id="shell_execute">
+      <title>Shell execute</title>
+      <para>This executes a program in a subshell. The program is passed the template-generated message as the 
+only command line parameter. Rsyslog waits until the program terminates and only then continues to run.</para>
+      <para>
+        <emphasis remap="B">Example:</emphasis>
+      </para>
+      <literallayout remap="RS">
+^program-to-execute;template
+</literallayout>
+      <!-- remap='RE' -->
+      <para>The program-to-execute can be any valid executable. It receives the template string as a single parameter 
+(argv[1]).</para>
+    </refsect2>
+  </refsect1>
+  <refsect1 id="filter_conditions">
+    <title>FILTER CONDITIONS</title>
+    <para>Rsyslog offers three different types "filter conditions":</para>
+    <para>   * "traditional" severity and facility based selectors</para>
+    <para>   * property-based filters</para>
+    <para>   * expression-based filters</para>
+    <refsect2 id="blocks">
+      <title>Blocks</title>
+      <para>Rsyslogd supports BSD-style blocks inside rsyslog.conf. Each block of lines is separated from 
+the previous block by a program or hostname specification. A block will only log messages 
+corresponding to the most recent program and hostname specifications given. Thus, a block which 
+selects "ppp" as the program, directly followed by a block that selects messages from the 
+hostname "dialhost", then the second block will only log messages from the ppp program on dialhost.</para>
+    </refsect2>
+    <refsect2 id="selectors">
+      <title>Selectors</title>
+      <para><emphasis remap="B">Selectors are the traditional way of filtering syslog messages.</emphasis>
+They have been kept in rsyslog with their original syntax, because it is well-known, highly 
+effective and also needed for compatibility with stock syslogd configuration files. If you just 
+need to filter based on priority and facility, you should do this with selector lines. They are 
+not second-class citizens in rsyslog and offer the best performance for this job.</para>
+    </refsect2>
+    <refsect2 id="propertybased_filters">
+      <title>Property-Based Filters</title>
+      <para>Property-based filters are unique to rsyslogd. They allow to filter on any property, like HOSTNAME, 
+syslogtag and msg.</para>
+      <para>A property-based filter must start with a colon in column 0. This tells rsyslogd that it is the new 
+filter type. The colon must be followed by the property name, a comma, the name of the compare 
+operation to carry out, another comma and then the value to compare against. This value must be quoted. 
+There can be spaces and tabs between the commas. Property names and compare operations are 
+case-sensitive, so "msg" works, while "MSG" is an invalid property name. In brief, the syntax is as follows:</para>
+      <literallayout remap="RS">
+:property, [!]compare-operation, "value"
+</literallayout>
+      <!-- remap='RE' -->
+      <para>The following compare-operations are currently supported:</para>
+      <blockquote remap="RS">
+        <para>
+          <emphasis remap="B">contains</emphasis>
+        </para>
+        <blockquote remap="RS">
+          <para>Checks if the string provided in value is contained in the property
+    </para>
+        </blockquote>
+        <!-- remap='RE' -->
+        <para>
+          <emphasis remap="B">isequal</emphasis>
+        </para>
+        <blockquote remap="RS">
+          <para>Compares the "value" string provided and the property contents. These two values must be exactly equal to match. 
+    </para>
+        </blockquote>
+        <!-- remap='RE' -->
+        <para>
+          <emphasis remap="B">startswith</emphasis>
+        </para>
+        <blockquote remap="RS">
+          <para>Checks if the value is found exactly at the beginning of the property value
+    </para>
+        </blockquote>
+        <!-- remap='RE' -->
+        <para>
+          <emphasis remap="B">regex</emphasis>
+        </para>
+        <blockquote remap="RS">
+          <para>Compares the property against the provided regular expression.
+    </para>
+        </blockquote>
+        <!-- remap='RE' -->
+      </blockquote>
+      <!-- remap='RE' -->
+    </refsect2>
+    <refsect2 id="expressionbased_filters">
+      <title>Expression-Based Filters</title>
+      <para>See the html documentation for this feature.</para>
+    </refsect2>
+  </refsect1>
+  <refsect1 id="templates">
+    <title>TEMPLATES</title>
+    <para>Every output in rsyslog uses templates - this holds true for files, user 
+messages and so on. Templates compatible with the stock syslogd 
+formats are hardcoded into rsyslogd. If no template is specified, we use 
+one of these hardcoded templates. Search for "template_" in syslogd.c and 
+you will find the hardcoded ones.</para>
+    <para>A template consists of a template directive, a name, the actual template text 
+and optional options. A sample is:</para>
+    <blockquote remap="RS">
+      <para><emphasis remap="B">$template MyTemplateName,"\\7Text %property% some more text\\n",&lt;options&gt;</emphasis>
+  </para>
+    </blockquote>
+    <!-- remap='RE' -->
+    <para>The "$template" is the template directive. It tells rsyslog that this line 
+contains a template. The backslash is an escape character. For example, \7 rings the 
+bell (this is an ASCII value), \n is a new line. The set in rsyslog is a bit restricted 
+currently.</para>
+    <para>All text in the template is used literally, except for things within percent 
+signs. These are properties and allow you access to the contents of the syslog 
+message. Properties are accessed via the property replacer and it can for example
+pick a substring or do date-specific formatting. More on this is the PROPERTY REPLACER
+section of this manpage.</para>
+    <para>To escape:</para>
+    <para>   % = \­</para>
+    <para>   \ = \\  '\´ is used to escape (as in C)</para>
+    <para>$template TraditionalFormat,"%timegenerated% %HOSTNAME% %syslogtag%%msg%\n"</para>
+    <para>Properties can be accessed by the property replacer (see there for details).</para>
+    <para><emphasis remap="B">Please note that templates can also by used to generate selector lines with dynamic file names.</emphasis>
+For example, if you would like to split syslog messages from different hosts 
+to different files (one per host), you can define the following template:</para>
+    <blockquote remap="RS">
+      <para><emphasis remap="B">$template DynFile,"/var/log/system-%HOSTNAME%.log</emphasis>
+  </para>
+    </blockquote>
+    <!-- remap='RE' -->
+    <para>    
+This template can then be used when defining an output selector line. It will 
+result in something like "/var/log/system-localhost.log"</para>
+    <refsect2 id="template_options">
+      <title>Template options</title>
+      <para>The &lt;options&gt; part is optional. It carries options influencing the template as whole. 
+See details below. Be sure NOT to mistake template options with property options - the 
+later ones are processed by the property replacer and apply to a SINGLE property, only 
+(and not the whole template).</para>
+      <para>Template options are case-insensitive. Currently defined are:</para>
+      <blockquote remap="RS">
+        <variablelist remap="TP">
+          <varlistentry>
+            <term>sql</term>
+            <listitem>
+              <para>format the string suitable for a SQL statement in MySQL format. This will replace single 
+quotes ("'") and the backslash character by their backslash-escaped counterpart 
+("´" and "\") inside each field. Please note that in MySQL configuration, the NO_BACKSLASH_ESCAPES 
+mode must be turned off for this format to work (this is the default).</para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>stdsql</term>
+            <listitem>
+              <para>format the string suitable for a SQL statement that is to be sent to a standards-compliant 
+sql server. This will replace single quotes ("'") by two single quotes ("''") inside each field. 
+You must use stdsql together with MySQL if in MySQL configuration the NO_BACKSLASH_ESCAPES 
+is turned on.</para>
+            </listitem>
+          </varlistentry>
+        </variablelist>
+      </blockquote>
+      <!-- remap='RE' -->
+      <para>Either the
+<emphasis remap="B">sql</emphasis>
+or 
+<emphasis remap="B">stdsql</emphasis>
+option 
+<emphasis remap="B">MUST</emphasis>
+be specified when a template is used for writing to a database, 
+otherwise injection might occur. Please note that due to the unfortunate fact 
+that several vendors have violated the sql standard and introduced their own 
+escape methods, it is impossible to have a single option doing all the work.  
+So you yourself must make sure you are using the right format.
+<emphasis remap="B">If you choose the wrong one, you are still vulnerable to sql injection.</emphasis></para>
+      <para>Please note that the database writer *checks* that the sql option is present 
+in the template. If it is not present, the write database action is disabled. 
+This is to guard you against accidental forgetting it and then becoming 
+vulnerable to SQL injection. The sql option can also be useful with files - 
+especially if you want to import them into a database on another machine for 
+performance reasons. However, do NOT use it if you do not have a real need for 
+it - among others, it takes some toll on the processing time. Not much, but on 
+a really busy system you might notice it ;)</para>
+      <para>The default template for the write to database action has the sql option set.</para>
+    </refsect2>
+    <refsect2 id="template_examples">
+      <title>Template examples</title>
+      <para>Please note that the samples are split across multiple lines. A template MUST 
+NOT actually be split across multiple lines.</para>
+      <para>A template that resembles traditional syslogd file output:</para>
+      <blockquote remap="RS">
+        <para>$template TraditionalFormat,"%timegenerated% %HOSTNAME%</para>
+        <para>%syslogtag%%msg:::drop-last-lf%\n"
+  </para>
+      </blockquote>
+      <!-- remap='RE' -->
+      <para>A template that tells you a little more about the message:</para>
+      <blockquote remap="RS">
+        <para>$template precise,"%syslogpriority%,%syslogfacility%,%timegenerated%,%HOSTNAME%,</para>
+        <para>%syslogtag%,%msg%\n"
+  </para>
+      </blockquote>
+      <!-- remap='RE' -->
+      <para>A template for RFC 3164 format:</para>
+      <literallayout remap="RS">
+<synopsis>
+$template RFC3164fmt,"&lt;%PRI%&gt;%TIMESTAMP% %HOSTNAME% %syslogtag%%msg%"
+</synopsis>
+</literallayout>
+      <!-- remap='RE' -->
+      <para>A template for the format traditionally used for user messages:</para>
+      <literallayout remap="RS">
+<synopsis>
+$template usermsg," XXXX%syslogtag%%msg%\n\r"
+</synopsis>
+</literallayout>
+      <!-- remap='RE' -->
+      <para>And a template with the traditional wall-message format:</para>
+      <literallayout remap="RS">
+<synopsis>
+$template wallmsg,"\r\n\7Message from syslogd@%HOSTNAME% at %timegenerated%"
+</synopsis>
+</literallayout>
+      <!-- remap='RE' -->
+      <para>
+        <emphasis remap="B">A template that can be used for writing to a database (please note the SQL template option)</emphasis>
+      </para>
+      <blockquote remap="RS">
+        <!-- .ad l -->
+        <para>$template MySQLInsert,"insert iut, message, receivedat values
+('%iut%', '%msg:::UPPERCASE%', '%timegenerated:::date-mysql%')
+into systemevents\r\n", SQL</para>
+        <para>NOTE 1: This template is embedded into core application under name 
+<emphasis remap="B">StdDBFmt</emphasis>
+, so you don't need to define it.</para>
+        <para>NOTE 2: You have to have MySQL module installed to use this template.
+<!-- .ad -->
+  </para>
+      </blockquote>
+      <!-- remap='RE' -->
+    </refsect2>
+  </refsect1>
+  <refsect1 id="output_channels">
+    <title>OUTPUT CHANNELS</title>
+    <para>Output Channels are a new concept first introduced in rsyslog 0.9.0. As of this writing, 
+it is most likely that they will be replaced by something different in the future.
+So if you use them, be prepared to change you configuration file syntax when you upgrade 
+to a later release.</para>
+    <para>Output channels are defined via an $outchannel directive. It's syntax is as follows:</para>
+    <blockquote remap="RS">
+      <para><emphasis remap="B">$outchannel name,file-name,max-size,action-on-max-size</emphasis>
+  </para>
+    </blockquote>
+    <!-- remap='RE' -->
+    <para>name is the name of the output channel (not the file), file-name is the file name to be 
+written to, max-size the maximum allowed size and action-on-max-size a command to be issued 
+when the max size is reached. This command always has exactly one parameter. The binary is 
+that part of action-on-max-size before the first space, its parameter is everything behind 
+that space.</para>
+    <para>Keep in mind that $outchannel just defines a channel with "name". It does not activate it. 
+To do so, you must use a selector line (see below). That selector line includes the channel 
+name plus an $ sign in front of it. A sample might be:</para>
+    <literallayout remap="RS">
+<synopsis>
+*.* $mychannel
+</synopsis>
+</literallayout>
+    <!-- remap='RE' -->
+  </refsect1>
+  <refsect1 id="property_replacer">
+    <title>PROPERTY REPLACER</title>
+    <para>The property replacer is a core component in rsyslogd's output system. A syslog message has 
+a number of well-defined properties (see below). Each of this properties can be accessed and 
+manipulated by the property replacer. With it, it is easy to use only part of a property value 
+or manipulate the value, e.g. by converting all characters to lower case.</para>
+    <refsect2 id="accessing_properties">
+      <title>Accessing Properties</title>
+      <para>Syslog message properties are used inside templates. They are accessed by putting them between 
+percent signs. Properties can be modified by the property replacer. The full syntax is as follows:</para>
+      <blockquote remap="RS">
+        <para><emphasis remap="B">%propname:fromChar:toChar:options%</emphasis>
+  </para>
+      </blockquote>
+      <!-- remap='RE' -->
+      <para>propname is the name of the property to access. 
+<emphasis remap="B">It is case-sensitive.</emphasis></para>
+    </refsect2>
+    <refsect2 id="available_properties">
+      <title>Available Properties</title>
+      <variablelist remap="TP">
+        <varlistentry>
+          <term>
+            <emphasis remap="B">msg</emphasis>
+          </term>
+          <listitem>
+            <para>the MSG part of the message (aka "the message" ;))</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">rawmsg</emphasis>
+          </term>
+          <listitem>
+            <para>the message exactly as it was received from the socket. Should be useful for debugging.</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">HOSTNAME</emphasis>
+          </term>
+          <listitem>
+            <para>hostname from the message</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">FROMHOST</emphasis>
+          </term>
+          <listitem>
+            <para>hostname of the system the message was received from (in a relay chain, this is the system immediately 
+in front of us and not necessarily the original sender)</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">syslogtag</emphasis>
+          </term>
+          <listitem>
+            <para>TAG from the message</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">programname</emphasis>
+          </term>
+          <listitem>
+            <para>the "static" part of the tag, as defined by BSD syslogd. For example, when TAG is "named[12345]", 
+programname is "named".</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">PRI</emphasis>
+          </term>
+          <listitem>
+            <para>PRI part of the message - undecoded (single value)</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">PRI-text</emphasis>
+          </term>
+          <listitem>
+            <para>the PRI part of the message in a textual form (e.g. "syslog.info")</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">IUT</emphasis>
+          </term>
+          <listitem>
+            <para>the monitorware InfoUnitType - used when talking to a MonitorWare backend (also for phpLogCon)</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">syslogfacility</emphasis>
+          </term>
+          <listitem>
+            <para>the facility from the message - in numerical form</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">syslogfacility-text</emphasis>
+          </term>
+          <listitem>
+            <para>the facility from the message - in text form</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">syslogseverity</emphasis>
+          </term>
+          <listitem>
+            <para>severity from the message - in numerical form</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">syslogseverity-text</emphasis>
+          </term>
+          <listitem>
+            <para>severity from the message - in text form</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">timegenerated</emphasis>
+          </term>
+          <listitem>
+            <para>timestamp when the message was RECEIVED. Always in high resolution</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">timereported</emphasis>
+          </term>
+          <listitem>
+            <para>timestamp from the message. Resolution depends on what was provided in the message (in most cases, only seconds)</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">TIMESTAMP</emphasis>
+          </term>
+          <listitem>
+            <para>alias for timereported</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">PROTOCOL-VERSION</emphasis>
+          </term>
+          <listitem>
+            <para>The contents of the PROTOCOL-VERSION field from IETF draft draft-ietf-syslog-protocol</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">STRUCTURED-DATA</emphasis>
+          </term>
+          <listitem>
+            <para>The contents of the STRUCTURED-DATA field from IETF draft draft-ietf-syslog-protocol</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">APP-NAME</emphasis>
+          </term>
+          <listitem>
+            <para>The contents of the APP-NAME field from IETF draft draft-ietf-syslog-protocol</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">PROCID</emphasis>
+          </term>
+          <listitem>
+            <para>The contents of the PROCID field from IETF draft draft-ietf-syslog-protocol</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">MSGID</emphasis>
+          </term>
+          <listitem>
+            <para>The contents of the MSGID field from IETF draft draft-ietf-syslog-protocol</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">$NOW</emphasis>
+          </term>
+          <listitem>
+            <para>The current date stamp in the format YYYY-MM-DD</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">$YEAR</emphasis>
+          </term>
+          <listitem>
+            <para>The current year (4-digit)</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">$MONTH</emphasis>
+          </term>
+          <listitem>
+            <para>The current month (2-digit)</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">$DAY</emphasis>
+          </term>
+          <listitem>
+            <para>The current day of the month (2-digit)</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">$HOUR</emphasis>
+          </term>
+          <listitem>
+            <para>The current hour in military (24 hour) time (2-digit)</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">$MINUTE</emphasis>
+          </term>
+          <listitem>
+            <para>The current minute (2-digit)</para>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Properties starting with a $-sign are so-called system properties. These do NOT stem from the 
+message but are rather internally-generated.</para>
+    </refsect2>
+    <refsect2 id="character_positions">
+      <title>Character Positions</title>
+      <para>FromChar and toChar are used to build substrings. They specify the offset within the string that 
+should be copied. Offset counting starts at 1, so if you need to obtain the first 2 characters of 
+the message text, you can use this syntax: "%msg:1:2%". If you do not wish to specify from and to, 
+but you want to specify options, you still need to include the colons. For example, if you would 
+like to convert the full message text to lower case, use "%msg:::lowercase%". If you would like to 
+extract from a position until the end of the string, you can place a dollar-sign ("$") in toChar 
+(e.g. %msg:10:$%, which will extract from position 10 to the end of the string).</para>
+      <para>There is also support for 
+<emphasis remap="B">regular expressions.</emphasis>
+To use them, you need to place a "R" into FromChar. 
+This tells rsyslog that a regular expression instead of position-based extraction is desired. The 
+actual regular expression 
+<emphasis remap="B">must</emphasis>
+then be provided in toChar. The regular expression must be followed 
+by the string "--end". It denotes the end of the regular expression and will not become part of it. 
+If you are using regular expressions, the property replacer will return the part of the property text 
+that matches the regular expression. An example for a property replacer sequence with a regular 
+expression is: "%msg:R:.*Sev:. \(.*\) \[.*--end%"</para>
+      <para>Also, extraction can be done based on so-called "fields". To do so, place a "F" into FromChar. A field 
+in its current definition is anything that is delimited by a delimiter character. The delimiter by 
+default is TAB (US-ASCII value 9). However, if can be changed to any other US-ASCII character by 
+specifying a comma and the decimal US-ASCII value of the delimiter immediately after the "F". For example, 
+to use comma (",") as a delimiter, use this field specifier: "F,44".  If your syslog data is delimited, 
+this is a quicker way to extract than via regular expressions (actually, a *much* quicker way). Field 
+counting starts at 1. Field zero is accepted, but will always lead to a "field not found" error. The same 
+happens if a field number higher than the number of fields in the property is requested. The field number 
+must be placed in the "ToChar" parameter. An example where the 3rd field (delimited by TAB) from the msg 
+property is extracted is as follows: "%msg:F:3%". The same example with semicolon as delimiter is 
+"%msg:F,59:3%".</para>
+      <para>Please note that the special characters "F" and "R" are case-sensitive. Only upper case works, lower case 
+will return an error. There are no white spaces permitted inside the sequence (that will lead to error 
+messages and will NOT provide the intended result).</para>
+    </refsect2>
+    <refsect2 id="property_options">
+      <title>Property Options</title>
+      <para>Property options are case-insensitive. Currently, the following options are defined:</para>
+      <variablelist remap="TP">
+        <varlistentry>
+          <term>uppercase</term>
+          <listitem>
+            <para>convert property to lowercase only</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>lowercase</term>
+          <listitem>
+            <para>convert property text to uppercase only</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>drop-last-lf</term>
+          <listitem>
+            <para>The last LF in the message (if any), is dropped. Especially useful for PIX.</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>date-mysql</term>
+          <listitem>
+            <para>format as mysql date</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>date-rfc3164</term>
+          <listitem>
+            <para>format as RFC 3164 date</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>date-rfc3339</term>
+          <listitem>
+            <para>format as RFC 3339 date</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>escape-cc</term>
+          <listitem>
+            <para>replace control characters (ASCII value 127 and values less then 32) with an escape sequence. The sequence is "#&lt;charval&gt;" where charval is the 3-digit decimal value of the control character. For example, a tabulator would be replaced by "#009".</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>space-cc</term>
+          <listitem>
+            <para>replace control characters by spaces</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>drop-cc</term>
+          <listitem>
+            <para>drop control characters - the resulting string will neither contain control characters, escape sequences nor any other replacement character like space.</para>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+    </refsect2>
+  </refsect1>
+  <refsect1 id="queued_operations">
+    <title>QUEUED OPERATIONS</title>
+    <para>Rsyslogd supports queued operations to handle offline outputs
+(like remote syslogd's or database servers being down). When running in
+queued mode, rsyslogd buffers messages to memory and optionally to disk
+(on an as-needed basis). Queues survive rsyslogd restarts.</para>
+    <para>It is highly suggested to use remote forwarding and database writing
+in queued mode, only.</para>
+    <para>To learn more about queued operations, see the html documentation.</para>
+  </refsect1>
+  <refsect1 id="files">
+    <title>FILES</title>
+    <!-- .PD 0 -->
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <filename>/etc/rsyslog.conf</filename>
+        </term>
+        <listitem>
+          <para>Configuration file for
+<emphasis remap="B">rsyslogd</emphasis></para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1 id="see_also">
+    <title>SEE ALSO</title>
+    <para><citerefentry><refentrytitle>rsyslogd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>logger</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry></para>
+    <para>The complete documentation can be found in the doc folder of the rsyslog distribution or online at</para>
+    <blockquote remap="RS">
+      <para><emphasis remap="B"><ulink url="http://www.rsyslog.com/doc">http://www.rsyslog.com/doc</ulink></emphasis>
+
+  </para>
+    </blockquote>
+    <!-- remap='RE' -->
+    <para>Please note that the man page reflects only a subset of the configuration options. Be sure to read
+the html documentation for all features and details. This is especially vital if you plan to set
+up a more-then-extremely-simple system.</para>
+  </refsect1>
+  <refsect1 id="authors">
+    <title>AUTHORS</title>
+    <para><emphasis remap="B">rsyslogd</emphasis>
+is taken from sysklogd sources, which have been heavily modified
+by Rainer Gerhards (rgerhards@adiscon.com) and others.</para>
+  </refsect1>
+</refentry>
diff --git a/man/C/rsyslogd.8.xml b/man/C/rsyslogd.8.xml
new file mode 100644
index 0000000..6a6d286
--- /dev/null
+++ b/man/C/rsyslogd.8.xml
@@ -0,0 +1,667 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<!-- lifted from troff+man by doclifter -->
+<refentry id="rsyslogd8">
+  <!--  Copyright 2004\-2008 Rainer Gerhards and Adiscon for the rsyslog modifications -->
+  <!--  May be distributed under the GNU General Public License -->
+  <refentryinfo>
+    <date>29 July 2008</date>
+  </refentryinfo>
+  <refmeta>
+    <refentrytitle>RSYSLOGD</refentrytitle>
+    <manvolnum>8</manvolnum>
+    <refmiscinfo class="date">29 July 2008</refmiscinfo>
+    <refmiscinfo class="source">Version 3.21.1</refmiscinfo>
+    <refmiscinfo class="manual">Linux System Administration</refmiscinfo>
+  </refmeta>
+  <refnamediv id="name">
+    <refname>rsyslogd</refname>
+    <refpurpose>reliable and extended syslogd </refpurpose>
+  </refnamediv>
+  <!-- body begins here -->
+  <refsynopsisdiv id="synopsis">
+    <cmdsynopsis>
+      <command>rsyslogd</command>
+      <arg choice="opt">-4 </arg>
+      <arg choice="opt">-6 </arg>
+      <arg choice="opt">-A </arg>
+      <arg choice="opt">-d </arg>
+      <arg choice="opt">
+        <arg choice="plain">-f </arg>
+        <arg choice="plain">
+          <replaceable>config</replaceable>
+        </arg>
+        <arg choice="plain">
+          <replaceable>file</replaceable>
+        </arg>
+      </arg>
+      <sbr/>
+      <arg choice="opt">
+        <arg choice="plain">-i </arg>
+        <arg choice="plain">
+          <replaceable>pid</replaceable>
+        </arg>
+        <arg choice="plain">
+          <replaceable>file</replaceable>
+        </arg>
+      </arg>
+      <arg choice="opt">
+        <arg choice="plain">-l </arg>
+        <arg choice="plain">
+          <replaceable>hostlist</replaceable>
+        </arg>
+      </arg>
+      <arg choice="opt">-n </arg>
+      <arg choice="opt">
+        <arg choice="plain">-N </arg>
+        <arg choice="plain">
+          <replaceable>level</replaceable>
+        </arg>
+      </arg>
+      <sbr/>
+      <arg choice="opt">-q </arg>
+      <arg choice="opt">-Q </arg>
+      <arg choice="opt">
+        <arg choice="plain">-s </arg>
+        <arg choice="plain">
+          <replaceable>domainlist</replaceable>
+        </arg>
+      </arg>
+      <arg choice="opt">
+        <arg choice="plain">-u </arg>
+        <arg choice="plain">
+          <replaceable>userlevel</replaceable>
+        </arg>
+      </arg>
+      <arg choice="opt">-v </arg>
+      <arg choice="opt">-w </arg>
+      <arg choice="opt">-x </arg>
+      <sbr/>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1 id="description">
+    <title>DESCRIPTION</title>
+    <para><emphasis remap="B">Rsyslogd</emphasis>
+is a system utility providing support for message logging.
+Support of both internet and
+unix domain sockets enables this utility to support both local
+and remote logging.</para>
+    <para><emphasis remap="B">Note that this version of rsyslog ships with extensive documentation in html format.</emphasis>
+This is provided in the ./doc subdirectory and probably
+in a separate package if you installed rsyslog via a packaging system.
+To use rsyslog's advanced features, you
+<emphasis remap="B">need</emphasis>
+to look at the html documentation, because the man pages only cover
+basic aspects of operation.
+<emphasis remap="B">For details and configuration examples, see the rsyslog.conf (5)</emphasis>
+<emphasis remap="B">man page and the online documentation at <ulink url="http://www.rsyslog.com/doc">http://www.rsyslog.com/doc</ulink></emphasis></para>
+    <para><citerefentry><refentrytitle>Rsyslogd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+is derived from the sysklogd package which in turn is derived from the
+stock BSD sources.</para>
+    <para><emphasis remap="B">Rsyslogd</emphasis>
+provides a kind of logging that many modern programs use.  Every logged
+message contains at least a time and a hostname field, normally a
+program name field, too, but that depends on how trusty the logging
+program is. The rsyslog package supports free definition of output formats
+via templates. It also supports precise timestamps and writing directly
+to databases. If the database option is used, tools like phpLogCon can
+be used to view the log data.</para>
+    <para>While the
+<command>rsyslogd</command>
+sources have been heavily modified a couple of notes
+are in order.  First of all there has been a systematic attempt to
+ensure that rsyslogd follows its default, standard BSD behavior. Of course,
+some configuration file changes are necessary in order to support the
+template system. However, rsyslogd should be able to use a standard
+syslog.conf and act like the orginal syslogd. However, an original syslogd
+will not work correctly with a rsyslog-enhanced configuration file. At
+best, it will generate funny looking file names.
+The second important concept to note is that this version of rsyslogd
+interacts transparently with the version of syslog found in the
+standard libraries.  If a binary linked to the standard shared
+libraries fails to function correctly we would like an example of the
+anomalous behavior.</para>
+    <para>The main configuration file
+<filename>/etc/rsyslog.conf</filename>
+or an alternative file, given with the 
+<option>-f</option>
+option, is read at startup.  Any lines that begin with the hash mark
+(&#8220;#&#8221;) and empty lines are ignored.  If an error occurs during parsing
+the error element is ignored. It is tried to parse the rest of the line.</para>
+  </refsect1>
+  <refsect1 id="options">
+    <title>OPTIONS</title>
+    <para><emphasis remap="B">Note that in version 3 of rsyslog a number of command line options</emphasis>
+<emphasis remap="B">have been deprecated and replaced with config file directives. The</emphasis>
+<option>-c option controls the backward compatibility mode in use.</option></para>
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <option>-A</option>
+        </term>
+        <listitem>
+          <para>When sending UDP messages, there are potentially multiple pathes to
+the target destination. By default,
+<command>rsyslogd</command>
+only sends to the first target it can successfully send to. If -A 
+is given, messages are sent to all targets. This may improve
+reliability, but may also cause message duplicaton. This option
+should enabled only if it is fully understood.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-4</option>
+        </term>
+        <listitem>
+          <para>Causes
+<command>rsyslogd</command>
+to listen to IPv4 addresses only.
+If neither -4 nor -6 is given,
+<command>rsyslogd</command>
+listens to all configured addresses of the system.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-6</option>
+        </term>
+        <listitem>
+          <para>Causes
+<command>rsyslogd</command>
+to listen to IPv6 addresses only.
+If neither -4 nor -6 is given,
+<command>rsyslogd</command>
+listens to all configured addresses of the system.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-c </option>
+          <emphasis remap="I">version</emphasis>
+        </term>
+        <listitem>
+          <para>Selects the desired backward compatibility mode. It must always be the
+first option on the command line, as it influences processing of the
+other options. To use the rsyslog v3 native interface, specify -c3. To
+use compatibility mode , either do not use -c at all or use
+-c&lt;version&gt; where 
+<emphasis remap="I">version</emphasis>
+is the rsyslog version that it shall be
+compatible with. Using -c0 tells rsyslog to be command-line compatible
+to sysklogd, which is the default if -c is not given.
+<emphasis remap="B">Please note that rsyslogd issues warning messages if the -c3</emphasis>
+<emphasis remap="B">command line option is not given.</emphasis>
+This is to alert you that your are running in compatibility
+mode. Compatibility mode interfers with you rsyslog.conf commands and
+may cause some undesired side-effects. It is meant to be used with a
+plain old rsyslog.conf - if you use new features, things become
+messy. So the best advice is to work through this document, convert
+your options and config file and then use rsyslog in native mode. In
+order to aid you in this process, rsyslog logs every
+compatibility-mode config file directive it has generated. So you can
+simply copy them from your logfile and paste them to the config.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-d</option>
+        </term>
+        <listitem>
+          <para>Turns on debug mode.  Using this the daemon will not proceed a 
+<citerefentry><refentrytitle>fork</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+to set itself in the background, but opposite to that stay in the
+foreground and write much debug information on the current tty.  See the
+DEBUGGING section for more information.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-f </option>
+          <emphasis remap="I">config file</emphasis>
+        </term>
+        <listitem>
+          <para>Specify an alternative configuration file instead of
+<filename>/etc/rsyslog.conf</filename>,
+which is the default.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-i </option>
+          <emphasis remap="I">pid file</emphasis>
+        </term>
+        <listitem>
+          <para>Specify an alternative pid file instead of the default one.
+This option must be used if multiple instances of rsyslogd should
+run on a single machine.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-l </option>
+          <emphasis remap="I">hostlist</emphasis>
+        </term>
+        <listitem>
+          <para>Specify a hostname that should be logged only with its simple hostname
+and not the fqdn.  Multiple hosts may be specified using the colon
+(&#8220;:&#8221;) separator.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-n</option>
+        </term>
+        <listitem>
+          <para>Avoid auto-backgrounding.  This is needed especially if the
+<command>rsyslogd</command>
+is started and controlled by
+<citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-N level</option>
+        </term>
+        <listitem>
+          <para>Do a coNfig check. Do NOT run in regular mode, just check configuration
+file correctness.
+This option is meant to verify a config file. To do so, run rsyslogd
+interactively in foreground, specifying -f &lt;config-file&gt; and -N level.
+The level argument modifies behaviour. Currently, 0 is the same as
+not specifying the -N option at all (so this makes limited sense) and
+1 actually activates the code. Later, higher levels will mean more
+verbosity (this is a forward-compatibility option).
+<command>rsyslogd</command>
+is started and controlled by
+<citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-q </option>
+          <emphasis remap="I">add hostname if DNS fails during ACL processing</emphasis>
+        </term>
+        <listitem>
+          <para>During ACL processing, hostnames are resolved to IP addreses for
+performance reasons. If DNS fails during that process, the hostname
+is added as wildcard text, which results in proper, but somewhat
+slower operation once DNS is up again.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-Q </option>
+          <emphasis remap="I">do not resolve hostnames during ACL processing</emphasis>
+        </term>
+        <listitem>
+          <para>Do not resolve hostnames to IP addresses during ACL processing.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-s </option>
+          <emphasis remap="I">domainlist</emphasis>
+        </term>
+        <listitem>
+          <para>Specify a domainname that should be stripped off before
+logging.  Multiple domains may be specified using the colon (&#8220;:&#8221;)
+separator.
+Please be advised that no sub-domains may be specified but only entire
+domains.  For example if
+<option>-s north.de</option>
+is specified and the host logging resolves to satu.infodrom.north.de
+no domain would be cut, you will have to specify two domains like:
+<option>-s north.de:infodrom.north.de</option>.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-u </option>
+          <emphasis remap="I">userlevel</emphasis>
+        </term>
+        <listitem>
+          <para>This is a "catch all" option for some very seldomly-used user settings.
+The "userlevel" variable selects multiple things. Add the specific values
+to get the combined effect of them.
+A value of 1 prevents rsyslogd from parsing hostnames and tags inside
+messages.
+A value of 2 prevents rsyslogd from changing to the root directory. This
+is almost never a good idea in production use. This option was introduced
+in support of the internal testbed.
+To combine these two features, use a userlevel of 3 (1+2). Whenever you use
+an -u option, make sure you really understand what you do and why you do it.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-v</option>
+        </term>
+        <listitem>
+          <para>Print version and exit.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-w</option>
+        </term>
+        <listitem>
+          <para>Supress warnings issued when messages are received from non-authorized
+machines (those, that are in no AllowedSender list).</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-x</option>
+        </term>
+        <listitem>
+          <para>Disable DNS for remote messages.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1 id="signals">
+    <title>SIGNALS</title>
+    <para><emphasis remap="B">Rsyslogd</emphasis>
+reacts to a set of signals.  You may easily send a signal to
+<command>rsyslogd</command>
+using the following:</para>
+    <literallayout remap=".nf">
+kill -SIGNAL $(cat /var/run/syslogd.pid)
+</literallayout>
+    <!-- .fi -->
+    <para>Note that -SIGNAL must be replaced with the actual signal
+you are trying to send, e.g. with HUP. So it then becomes:</para>
+    <literallayout remap=".nf">
+kill -HUP $(cat /var/run/syslogd.pid)
+</literallayout>
+    <!-- .fi -->
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <emphasis remap="B">HUP</emphasis>
+        </term>
+        <listitem>
+          <para>This lets
+<command>rsyslogd</command>
+perform a re-initialization.  All open files are closed, the
+configuration file (default is 
+<filename>/etc/rsyslog.conf</filename>)
+will be reread and the
+<citerefentry><refentrytitle>rsyslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+facility is started again.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="B">TERM , INT , QUIT</emphasis>
+        </term>
+        <listitem>
+          <para><emphasis remap="B">Rsyslogd</emphasis>
+will die.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="B">USR1</emphasis>
+        </term>
+        <listitem>
+          <para>Switch debugging on/off.  This option can only be used if
+<command>rsyslogd</command>
+is started with the
+<option>-d</option>
+debug option.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="B">CHLD</emphasis>
+        </term>
+        <listitem>
+          <para>Wait for childs if some were born, because of wall'ing messages.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1 id="security_threats">
+    <title>SECURITY THREATS</title>
+    <para>There is the potential for the rsyslogd daemon to be
+used as a conduit for a denial of service attack.
+A rogue program(mer) could very easily flood the rsyslogd daemon with
+syslog messages resulting in the log files consuming all the remaining
+space on the filesystem.  Activating logging over the inet domain
+sockets will of course expose a system to risks outside of programs or
+individuals on the local machine.</para>
+    <para>There are a number of methods of protecting a machine:</para>
+    <variablelist remap="IP">
+      <varlistentry>
+        <term>1.</term>
+        <listitem>
+          <para>Implement kernel firewalling to limit which hosts or networks have
+access to the 514/UDP socket.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>2.</term>
+        <listitem>
+          <para>Logging can be directed to an isolated or non-root filesystem which,
+if filled, will not impair the machine.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>3.</term>
+        <listitem>
+          <para>The ext2 filesystem can be used which can be configured to limit a
+certain percentage of a filesystem to usage by root only.  <emphasis remap="B">NOTE</emphasis>
+that this will require rsyslogd to be run as a non-root process.
+<emphasis remap="B">ALSO NOTE</emphasis> that this will prevent usage of remote logging on the default port since
+rsyslogd will be unable to bind to the 514/UDP socket.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>4.</term>
+        <listitem>
+          <para>Disabling inet domain sockets will limit risk to the local machine.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <refsect2 id="message_replay_and_spoofing">
+      <title>Message replay and spoofing</title>
+      <para>If remote logging is enabled, messages can easily be spoofed and replayed.
+As the messages are transmitted in clear-text, an attacker might use
+the information obtained from the packets for malicious things. Also, an
+attacker might replay recorded messages or spoof a sender's IP address,
+which could lead to a wrong perception of system activity. These can
+be prevented by using GSS-API authentication and encryption. Be sure
+to think about syslog network security before enabling it.</para>
+    </refsect2>
+  </refsect1>
+  <refsect1 id="debugging">
+    <title>DEBUGGING</title>
+    <para>When debugging is turned on using
+<option>-d</option>
+option then
+<command>rsyslogd</command>
+will be very verbose by writing much of what it does on stdout.</para>
+  </refsect1>
+  <refsect1 id="files">
+    <title>FILES</title>
+    <!-- .PD 0 -->
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <filename>/etc/rsyslog.conf</filename>
+        </term>
+        <listitem>
+          <para>Configuration file for
+<command>rsyslogd</command>.
+See
+<citerefentry><refentrytitle>rsyslog.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+for exact information.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <filename>/dev/log</filename>
+        </term>
+        <listitem>
+          <para>The Unix domain socket to from where local syslog messages are read.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <filename>/var/run/rsyslogd.pid</filename>
+        </term>
+        <listitem>
+          <para>The file containing the process id of 
+<command>rsyslogd</command>.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="I">prefix/lib/rsyslog</emphasis>
+        </term>
+        <listitem>
+          <para>Default directory for
+<command>rsyslogd</command>
+modules. The
+<emphasis remap="I">prefix</emphasis>
+is specified during compilation (e.g. /usr/local).</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1 id="environment">
+    <title>ENVIRONMENT</title>
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <emphasis remap="B">RSYSLOG_DEBUG</emphasis>
+        </term>
+        <listitem>
+          <para>Controls runtime debug support.It contains an option string with the
+following options possible (all are case insensitive):</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <variablelist remap="IP">
+      <varlistentry>
+        <term>LogFuncFlow</term>
+        <listitem>
+          <para>Print out the logical flow of functions (entering and exiting them)</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>FileTrace</term>
+        <listitem>
+          <para>Specifies which files to trace LogFuncFlow. If not set (the
+default), a LogFuncFlow trace is provided for all files. Set to
+limit it to the files specified.FileTrace may be specified multiple
+times, one file each (e.g. export RSYSLOG_DEBUG="LogFuncFlow
+FileTrace=vm.c FileTrace=expr.c"</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>PrintFuncDB</term>
+        <listitem>
+          <para>Print the content of the debug function database whenever debug
+information is printed (e.g. abort case)!</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>PrintAllDebugInfoOnExit</term>
+        <listitem>
+          <para>Print all debug information immediately before rsyslogd exits
+(currently not implemented!)</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>PrintMutexAction</term>
+        <listitem>
+          <para>Print mutex action as it happens. Useful for finding deadlocks and
+such.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>NoLogTimeStamp</term>
+        <listitem>
+          <para>Do not prefix log lines with a timestamp (default is to do that).</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>NoStdOut</term>
+        <listitem>
+          <para>Do not emit debug messages to stdout. If RSYSLOG_DEBUGLOG is not
+set, this means no messages will be displayed at all.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>Help</term>
+        <listitem>
+          <para>Display a very short list of commands - hopefully a life saver if
+you can't access the documentation...</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <emphasis remap="B">RSYSLOG_DEBUGLOG</emphasis>
+        </term>
+        <listitem>
+          <para>If set, writes (allmost) all debug message to the specified log file
+in addition to stdout.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="B">RSYSLOG_MODDIR</emphasis>
+        </term>
+        <listitem>
+          <para>Provides the default directory in which loadable modules reside.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1 id="bugs">
+    <title>BUGS</title>
+    <para>Please review the file BUGS for up-to-date information on known
+bugs and annouyances.</para>
+  </refsect1>
+  <refsect1 id="further_information">
+    <title>Further Information</title>
+    <para>Please visit
+<emphasis remap="B"><ulink url="http://www.rsyslog.com/doc">http://www.rsyslog.com/doc</ulink></emphasis>
+for additional information, tutorials and a support forum.</para>
+  </refsect1>
+  <refsect1 id="see_also">
+    <title>SEE ALSO</title>
+    <para><citerefentry><refentrytitle>rsyslog.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>logger</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>syslog</refentrytitle><manvolnum>2</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>services</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>savelog</refentrytitle><manvolnum>8</manvolnum></citerefentry></para>
+  </refsect1>
+  <refsect1 id="collaborators">
+    <title>COLLABORATORS</title>
+    <para><command>rsyslogd</command>
+is derived from sysklogd sources, which in turn was taken from
+the BSD sources. Special thanks to Greg Wettstein (greg@wind.enjellic.com)
+and Martin Schulze (joey@linux.de) for the fine sysklogd package.</para>
+    <!-- .PD 0 -->
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>Rainer Gerhards</term>
+        <term>Adiscon GmbH</term>
+        <term>Grossrinderfeld, Germany</term>
+        <term>rgerhards@adiscon.com</term>
+        <listitem>
+          <!-- .PD -->
+          <para/>
+          <!-- FIXME: blank list item -->
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+</refentry>
diff --git a/man/ja/rsyslog.conf.5.xml b/man/ja/rsyslog.conf.5.xml
new file mode 100644
index 0000000..78aece6
--- /dev/null
+++ b/man/ja/rsyslog.conf.5.xml
@@ -0,0 +1,1020 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<!-- lifted from troff+man by doclifter -->
+<refentry id="rsyslogconf5">
+  <!--  rsyslog.conf \- rsyslogd(8) configuration file -->
+  <!--  Copyright 2003\-2008 Rainer Gerhards and Adiscon GmbH. -->
+  <!--   -->
+  <!--  This file is part of the rsyslog  package, an enhanced system log daemon. -->
+  <!--   -->
+  <!--  This program is free software; you can redistribute it and/or modify -->
+  <!--  it under the terms of the GNU General Public License as published by -->
+  <!--  the Free Software Foundation; either version 2 of the License, or -->
+  <!--  (at your option) any later version. -->
+  <!--   -->
+  <!--  This program 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 General Public License for more details. -->
+  <!--   -->
+  <!--  You should have received a copy of the GNU General Public License -->
+  <!--  along with this program; if not, write to the Free Software -->
+  <!--  Foundation, Inc., 59 Temple Place \- Suite 330, Boston, MA 02111, USA. -->
+  <refentryinfo>
+    <date>11 July 2008</date>
+  </refentryinfo>
+  <refmeta>
+    <refentrytitle>RSYSLOG.CONF</refentrytitle>
+    <manvolnum>5</manvolnum>
+    <refmiscinfo class="date">11 July 2008</refmiscinfo>
+    <refmiscinfo class="source">Version 3.18.0</refmiscinfo>
+    <refmiscinfo class="manual">Linux System Administration</refmiscinfo>
+  </refmeta>
+  <refnamediv id="name">
+    <refname>rsyslog.conf</refname>
+    <refpurpose>rsyslogd(8) configuration file</refpurpose>
+  </refnamediv>
+  <!-- body begins here -->
+  <refsect1 id="description">
+    <title>DESCRIPTION</title>
+    <para>The
+<emphasis remap="I">rsyslog.conf</emphasis>
+file is the main configuration file for the
+<citerefentry><refentrytitle>rsyslogd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+which logs system messages on *nix systems.  This file specifies rules
+for logging.  For special features see the
+<citerefentry><refentrytitle>rsyslogd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+manpage. Rsyslog.conf is backward-compatible with sysklogd's syslog.conf file. So if you migrate
+from sysklogd you can rename it and it should work.</para>
+    <para><emphasis remap="B">Note that this version of rsyslog ships with extensive documentation in html format.</emphasis>
+This is provided in the ./doc subdirectory and probably
+in a separate package if you installed rsyslog via a packaging system.
+To use rsyslog's advanced features, you
+<emphasis remap="B">need</emphasis>
+to look at the html documentation, because the man pages only cover
+basic aspects of operation.</para>
+  </refsect1>
+  <refsect1 id="modules">
+    <title>MODULES</title>
+    <para>Rsyslog has a modular design. Consequently, there is a growing number
+of modules. See the html documentation for their full description.</para>
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <emphasis remap="I">omsnmp</emphasis>
+        </term>
+        <listitem>
+          <para>SNMP trap output module</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="I">omgssapi</emphasis>
+        </term>
+        <listitem>
+          <para>Output module for GSS-enabled syslog</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="I">ommysql</emphasis>
+        </term>
+        <listitem>
+          <para>Output module for MySQL</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="I">omrelp</emphasis>
+        </term>
+        <listitem>
+          <para>Output module for the reliable RELP protocol (prevents message loss). 
+For details, see below at imrelp and the html documentation.
+It can be used like this:</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <para>*.*  :omrelp:server:port</para>
+    <para>*.*  :omrelp:192.168.0.1:2514 # actual sample</para>
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <emphasis remap="I">ompgsql</emphasis>
+        </term>
+        <listitem>
+          <para>Output module for PostgreSQL</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="I">omlibdbi</emphasis>
+        </term>
+        <listitem>
+          <para>Generic database output module (Firebird/Interbase, MS SQL, Sybase,
+SQLite, Ingres, Oracle, mSQL)</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="I">imfile</emphasis>
+        </term>
+        <listitem>
+          <para>Input module for text files</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="I">imudp</emphasis>
+        </term>
+        <listitem>
+          <para>Input plugin for UDP syslog. Replaces the deprecated -r option. Can be
+used like this:</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <para>$ModLoad imudp</para>
+    <para>$InputUDPServerRun 514</para>
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <emphasis remap="I">imtcp</emphasis>
+        </term>
+        <listitem>
+          <para>Input plugin for plain TCP syslog. Replaces the deprecated -t
+option. Can be used like this:</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <para>$ModLoad imtcp</para>
+    <para>$InputTCPServerRun 514</para>
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <emphasis remap="I">imtcp</emphasis>
+        </term>
+        <listitem>
+          <para>Input plugin for the RELP protocol. RELP can be used instead
+of UDP or plain TCP syslog to provide reliable delivery of
+syslog messages. Please note that plain TCP syslog does NOT
+provide truly reliable delivery, with it messages may be lost
+when there is a connection problem or the server shuts down.
+RELP prevents message loss in those cases.
+It can be used like this:</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <para>$ModLoad imrelp</para>
+    <para>$InputRELPServerRun 2514</para>
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <emphasis remap="I">imgssapi</emphasis>
+        </term>
+        <listitem>
+          <para>Input plugin for plain TCP and GSS-enable syslog</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="I">immark</emphasis>
+        </term>
+        <listitem>
+          <para>Support for mark messages</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="I">imklog</emphasis>
+        </term>
+        <listitem>
+          <para>Kernel logging. To include kernel log messages, you need to do</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <para>$ModLoad imklog</para>
+    <para>Please note that the klogd daemon is no longer necessary and consequently
+no longer provided by the rsyslog package.</para>
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <emphasis remap="I">imuxsock</emphasis>
+        </term>
+        <listitem>
+          <para>Unix sockets, including the system log socket. You need to specify</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <para>$ModLoad imudp</para>
+    <para>in order to receive log messages from local system processes. This
+config directive should only left out if you know exactly what you
+are doing.</para>
+  </refsect1>
+  <refsect1 id="basic_structure">
+    <title>BASIC STRUCTURE</title>
+    <para>Lines starting with a hash mark ('#') and empty lines are ignored. 
+Rsyslog.conf should contain following sections (sorted by recommended order in file):</para>
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>Global directives</term>
+        <listitem>
+          <para>Global directives set some global properties of whole rsyslog daemon, for example size of main
+message queue ($MainMessageQueueSize), loading external modules ($ModLoad) and so on.
+All global directives need to be specified on a line by their own and must start with 
+a dollar-sign. The complete list of global directives can be found in html documentation in doc 
+directory or online on web pages.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>Templates</term>
+        <listitem>
+          <para>Templates allow you to specify format of the logged message. They are also used for dynamic 
+file name generation. They have to be defined before they are used in rules. For more info 
+about templates see TEMPLATES section of this manpage.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>Output channels</term>
+        <listitem>
+          <para>Output channels provide an umbrella for any type of output that the user might want. 
+They have to be defined before they are used in rules. For more info about output channels
+see OUTPUT CHANNELS section of this manpage.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>Rules (selector + action)</term>
+        <listitem>
+          <para>Every rule line consists of two fields, a selector field and an action field. These 
+two fields are separated by one or more spaces or tabs. The selector field specifies 
+a pattern of facilities and priorities belonging to the specified action.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1 id="actions">
+    <title>ACTIONS</title>
+    <para>The action field of a rule describes what to do with the message. In general, message content 
+is written to a kind of "logfile". But also other actions might be done, like writing to a 
+database table or forwarding to another host.</para>
+    <refsect2 id="regular_file">
+      <title>Regular file</title>
+      <para>Typically messages are logged to real files. The file has to be specified with full pathname, 
+beginning with a slash ('/').</para>
+      <para>
+        <emphasis remap="B">Example:</emphasis>
+      </para>
+      <literallayout remap="RS">
+*.*     /var/log/traditionalfile.log;RSYSLOG_TraditionalFormat      # log to a file in the traditional format
+</literallayout>
+      <!-- remap='RE' -->
+      <para>Note: if you would like to use high-precision timestamps in your log files,
+just remove the ";RSYSLOG_TraditionalFormat". That will select the default
+template, which, if not changed, uses RFC 3339 timestamps.</para>
+      <para>
+        <emphasis remap="B">Example:</emphasis>
+      </para>
+      <literallayout remap="RS">
+*.*     /var/log/file.log # log to a file with RFC3339 timestamps
+</literallayout>
+      <!-- remap='RE' -->
+    </refsect2>
+    <refsect2 id="named_pipes">
+      <title>Named pipes</title>
+      <para>This version of rsyslogd(8) has support for logging output to named pipes (fifos). A fifo or 
+named pipe can be used as a destination for log messages by prepending a pipe symbol ('|') 
+to the name of the file. This is handy for debugging. Note that the fifo must be created with 
+the mkfifo(1) command before rsyslogd(8) is started.</para>
+    </refsect2>
+    <refsect2 id="terminal_and_console">
+      <title>Terminal and console</title>
+      <para>If the file you specified is a tty, special tty-handling is done, same with /dev/console.</para>
+    </refsect2>
+    <refsect2 id="remote_machine">
+      <title>Remote machine</title>
+      <para>There are three ways to forward message: the traditional UDP transport, which is extremely
+lossy but standard, the plain TCP based transport which loses messages only during certain
+situations but is widely available and the RELP transport which does not lose messages
+but is currently available only as part of rsyslogd 3.15.0 and above.</para>
+      <para>To forward messages to another host via UDP, prepend the hostname with the at sign ("@").
+To forward it via plain tcp, prepend two at signs ("@@"). To forward via RELP, prepend the
+string ":omrelp:" in front of the hostname.</para>
+      <para>
+        <emphasis remap="B">Example:</emphasis>
+      </para>
+      <literallayout remap="RS">
+*.* @192.168.0.1
+</literallayout>
+      <!-- remap='RE' -->
+      <para>In the example above, messages are forwarded via UDP to the machine 192.168.0.1, the destination 
+port defaults to 514. Due to the nature of UDP, you will probably lose some messages in transit.
+If you expect high traffic volume, you can expect to lose a quite noticeable number of messages
+(the higher the traffic, the more likely and severe is message loss).</para>
+      <para>
+        <emphasis remap="B">If you would like to prevent message loss, use RELP:</emphasis>
+      </para>
+      <literallayout remap="RS">
+*.* :omrelp:192.168.0.1:2514
+</literallayout>
+      <!-- remap='RE' -->
+      <para>Note that a port number was given as there is no standard port for relp.</para>
+      <para>Keep in mind that you need to load the correct input and output plugins (see "Modules" above).</para>
+      <para>Please note that rsyslogd offers a variety of options in regarding to remote
+forwarding. For full details, please see the html documentation.</para>
+    </refsect2>
+    <refsect2 id="list_of_users">
+      <title>List of users</title>
+      <para>Usually critical messages are also directed to &#8220;root&#8221; on that machine. You can specify a list 
+of users that shall get the message by simply writing the login. You may specify more than one 
+user by separating them with commas (','). If they're logged in they get the message. Don't 
+think a mail would be sent, that might be too late.</para>
+    </refsect2>
+    <refsect2 id="everyone_logged_on">
+      <title>Everyone logged on</title>
+      <para>Emergency messages often go to all users currently online to notify them that something strange 
+is happening with the system. To specify this wall(1)-feature use an asterisk ('*').</para>
+    </refsect2>
+    <refsect2 id="database_table">
+      <title>Database table</title>
+      <para>This allows logging of the message to a database table.
+By default, a MonitorWare-compatible schema is required for this to work. You can 
+create that schema with the createDB.SQL file that came with the rsyslog package. You can also
+use any other schema of your liking - you just need to define a proper template and assign this 
+template to the action.</para>
+      <para>See the html documentation for further details on database logging.</para>
+    </refsect2>
+    <refsect2 id="discard">
+      <title>Discard</title>
+      <para>If the discard action is carried out, the received message is immediately discarded. Discard 
+can be highly effective if you want to filter out some annoying messages that otherwise would 
+fill your log files. To do that, place the discard actions early in your log files. 
+This often plays well with property-based filters, giving you great freedom in specifying 
+what you do not want.</para>
+      <para>Discard is just the single tilde character with no further parameters.</para>
+      <para>
+        <emphasis remap="B">Example:</emphasis>
+      </para>
+      <literallayout remap="RS">
+*.*   ~      # discards everything.
+</literallayout>
+      <!-- remap='RE' -->
+    </refsect2>
+    <refsect2 id="output_channel">
+      <title>Output channel</title>
+      <para>Binds an output channel definition (see there for details) to this action. Output channel actions 
+must start with a $-sign, e.g. if you would like to bind your output channel definition "mychannel"
+to the action, use "$mychannel". Output channels support template definitions like all all other 
+actions.</para>
+    </refsect2>
+    <refsect2 id="shell_execute">
+      <title>Shell execute</title>
+      <para>This executes a program in a subshell. The program is passed the template-generated message as the 
+only command line parameter. Rsyslog waits until the program terminates and only then continues to run.</para>
+      <para>
+        <emphasis remap="B">Example:</emphasis>
+      </para>
+      <literallayout remap="RS">
+^program-to-execute;template
+</literallayout>
+      <!-- remap='RE' -->
+      <para>The program-to-execute can be any valid executable. It receives the template string as a single parameter 
+(argv[1]).</para>
+    </refsect2>
+  </refsect1>
+  <refsect1 id="filter_conditions">
+    <title>FILTER CONDITIONS</title>
+    <para>Rsyslog offers three different types "filter conditions":</para>
+    <para>   * "traditional" severity and facility based selectors</para>
+    <para>   * property-based filters</para>
+    <para>   * expression-based filters</para>
+    <refsect2 id="blocks">
+      <title>Blocks</title>
+      <para>Rsyslogd supports BSD-style blocks inside rsyslog.conf. Each block of lines is separated from 
+the previous block by a program or hostname specification. A block will only log messages 
+corresponding to the most recent program and hostname specifications given. Thus, a block which 
+selects "ppp" as the program, directly followed by a block that selects messages from the 
+hostname "dialhost", then the second block will only log messages from the ppp program on dialhost.</para>
+    </refsect2>
+    <refsect2 id="selectors">
+      <title>Selectors</title>
+      <para><emphasis remap="B">Selectors are the traditional way of filtering syslog messages.</emphasis>
+They have been kept in rsyslog with their original syntax, because it is well-known, highly 
+effective and also needed for compatibility with stock syslogd configuration files. If you just 
+need to filter based on priority and facility, you should do this with selector lines. They are 
+not second-class citizens in rsyslog and offer the best performance for this job.</para>
+    </refsect2>
+    <refsect2 id="propertybased_filters">
+      <title>Property-Based Filters</title>
+      <para>Property-based filters are unique to rsyslogd. They allow to filter on any property, like HOSTNAME, 
+syslogtag and msg.</para>
+      <para>A property-based filter must start with a colon in column 0. This tells rsyslogd that it is the new 
+filter type. The colon must be followed by the property name, a comma, the name of the compare 
+operation to carry out, another comma and then the value to compare against. This value must be quoted. 
+There can be spaces and tabs between the commas. Property names and compare operations are 
+case-sensitive, so "msg" works, while "MSG" is an invalid property name. In brief, the syntax is as follows:</para>
+      <literallayout remap="RS">
+:property, [!]compare-operation, "value"
+</literallayout>
+      <!-- remap='RE' -->
+      <para>The following compare-operations are currently supported:</para>
+      <blockquote remap="RS">
+        <para>
+          <emphasis remap="B">contains</emphasis>
+        </para>
+        <blockquote remap="RS">
+          <para>Checks if the string provided in value is contained in the property
+    </para>
+        </blockquote>
+        <!-- remap='RE' -->
+        <para>
+          <emphasis remap="B">isequal</emphasis>
+        </para>
+        <blockquote remap="RS">
+          <para>Compares the "value" string provided and the property contents. These two values must be exactly equal to match. 
+    </para>
+        </blockquote>
+        <!-- remap='RE' -->
+        <para>
+          <emphasis remap="B">startswith</emphasis>
+        </para>
+        <blockquote remap="RS">
+          <para>Checks if the value is found exactly at the beginning of the property value
+    </para>
+        </blockquote>
+        <!-- remap='RE' -->
+        <para>
+          <emphasis remap="B">regex</emphasis>
+        </para>
+        <blockquote remap="RS">
+          <para>Compares the property against the provided regular expression.
+    </para>
+        </blockquote>
+        <!-- remap='RE' -->
+      </blockquote>
+      <!-- remap='RE' -->
+    </refsect2>
+    <refsect2 id="expressionbased_filters">
+      <title>Expression-Based Filters</title>
+      <para>See the html documentation for this feature.</para>
+    </refsect2>
+  </refsect1>
+  <refsect1 id="templates">
+    <title>TEMPLATES</title>
+    <para>Every output in rsyslog uses templates - this holds true for files, user 
+messages and so on. Templates compatible with the stock syslogd 
+formats are hardcoded into rsyslogd. If no template is specified, we use 
+one of these hardcoded templates. Search for "template_" in syslogd.c and 
+you will find the hardcoded ones.</para>
+    <para>A template consists of a template directive, a name, the actual template text 
+and optional options. A sample is:</para>
+    <blockquote remap="RS">
+      <para><emphasis remap="B">$template MyTemplateName,"\\7Text %property% some more text\\n",&lt;options&gt;</emphasis>
+  </para>
+    </blockquote>
+    <!-- remap='RE' -->
+    <para>The "$template" is the template directive. It tells rsyslog that this line 
+contains a template. The backslash is an escape character. For example, \7 rings the 
+bell (this is an ASCII value), \n is a new line. The set in rsyslog is a bit restricted 
+currently.</para>
+    <para>All text in the template is used literally, except for things within percent 
+signs. These are properties and allow you access to the contents of the syslog 
+message. Properties are accessed via the property replacer and it can for example
+pick a substring or do date-specific formatting. More on this is the PROPERTY REPLACER
+section of this manpage.</para>
+    <para>To escape:</para>
+    <para>   % = \­</para>
+    <para>   \ = \\  '\´ is used to escape (as in C)</para>
+    <para>$template TraditionalFormat,"%timegenerated% %HOSTNAME% %syslogtag%%msg%\n"</para>
+    <para>Properties can be accessed by the property replacer (see there for details).</para>
+    <para><emphasis remap="B">Please note that templates can also by used to generate selector lines with dynamic file names.</emphasis>
+For example, if you would like to split syslog messages from different hosts 
+to different files (one per host), you can define the following template:</para>
+    <blockquote remap="RS">
+      <para><emphasis remap="B">$template DynFile,"/var/log/system-%HOSTNAME%.log</emphasis>
+  </para>
+    </blockquote>
+    <!-- remap='RE' -->
+    <para>    
+This template can then be used when defining an output selector line. It will 
+result in something like "/var/log/system-localhost.log"</para>
+    <refsect2 id="template_options">
+      <title>Template options</title>
+      <para>The &lt;options&gt; part is optional. It carries options influencing the template as whole. 
+See details below. Be sure NOT to mistake template options with property options - the 
+later ones are processed by the property replacer and apply to a SINGLE property, only 
+(and not the whole template).</para>
+      <para>Template options are case-insensitive. Currently defined are:</para>
+      <blockquote remap="RS">
+        <variablelist remap="TP">
+          <varlistentry>
+            <term>sql</term>
+            <listitem>
+              <para>format the string suitable for a SQL statement in MySQL format. This will replace single 
+quotes ("'") and the backslash character by their backslash-escaped counterpart 
+("´" and "\") inside each field. Please note that in MySQL configuration, the NO_BACKSLASH_ESCAPES 
+mode must be turned off for this format to work (this is the default).</para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>stdsql</term>
+            <listitem>
+              <para>format the string suitable for a SQL statement that is to be sent to a standards-compliant 
+sql server. This will replace single quotes ("'") by two single quotes ("''") inside each field. 
+You must use stdsql together with MySQL if in MySQL configuration the NO_BACKSLASH_ESCAPES 
+is turned on.</para>
+            </listitem>
+          </varlistentry>
+        </variablelist>
+      </blockquote>
+      <!-- remap='RE' -->
+      <para>Either the
+<emphasis remap="B">sql</emphasis>
+or 
+<emphasis remap="B">stdsql</emphasis>
+option 
+<emphasis remap="B">MUST</emphasis>
+be specified when a template is used for writing to a database, 
+otherwise injection might occur. Please note that due to the unfortunate fact 
+that several vendors have violated the sql standard and introduced their own 
+escape methods, it is impossible to have a single option doing all the work.  
+So you yourself must make sure you are using the right format.
+<emphasis remap="B">If you choose the wrong one, you are still vulnerable to sql injection.</emphasis></para>
+      <para>Please note that the database writer *checks* that the sql option is present 
+in the template. If it is not present, the write database action is disabled. 
+This is to guard you against accidental forgetting it and then becoming 
+vulnerable to SQL injection. The sql option can also be useful with files - 
+especially if you want to import them into a database on another machine for 
+performance reasons. However, do NOT use it if you do not have a real need for 
+it - among others, it takes some toll on the processing time. Not much, but on 
+a really busy system you might notice it ;)</para>
+      <para>The default template for the write to database action has the sql option set.</para>
+    </refsect2>
+    <refsect2 id="template_examples">
+      <title>Template examples</title>
+      <para>Please note that the samples are split across multiple lines. A template MUST 
+NOT actually be split across multiple lines.</para>
+      <para>A template that resembles traditional syslogd file output:</para>
+      <blockquote remap="RS">
+        <para>$template TraditionalFormat,"%timegenerated% %HOSTNAME%</para>
+        <para>%syslogtag%%msg:::drop-last-lf%\n"
+  </para>
+      </blockquote>
+      <!-- remap='RE' -->
+      <para>A template that tells you a little more about the message:</para>
+      <blockquote remap="RS">
+        <para>$template precise,"%syslogpriority%,%syslogfacility%,%timegenerated%,%HOSTNAME%,</para>
+        <para>%syslogtag%,%msg%\n"
+  </para>
+      </blockquote>
+      <!-- remap='RE' -->
+      <para>A template for RFC 3164 format:</para>
+      <literallayout remap="RS">
+<synopsis>
+$template RFC3164fmt,"&lt;%PRI%&gt;%TIMESTAMP% %HOSTNAME% %syslogtag%%msg%"
+</synopsis>
+</literallayout>
+      <!-- remap='RE' -->
+      <para>A template for the format traditionally used for user messages:</para>
+      <literallayout remap="RS">
+<synopsis>
+$template usermsg," XXXX%syslogtag%%msg%\n\r"
+</synopsis>
+</literallayout>
+      <!-- remap='RE' -->
+      <para>And a template with the traditional wall-message format:</para>
+      <literallayout remap="RS">
+<synopsis>
+$template wallmsg,"\r\n\7Message from syslogd@%HOSTNAME% at %timegenerated%"
+</synopsis>
+</literallayout>
+      <!-- remap='RE' -->
+      <para>
+        <emphasis remap="B">A template that can be used for writing to a database (please note the SQL template option)</emphasis>
+      </para>
+      <blockquote remap="RS">
+        <!-- .ad l -->
+        <para>$template MySQLInsert,"insert iut, message, receivedat values
+('%iut%', '%msg:::UPPERCASE%', '%timegenerated:::date-mysql%')
+into systemevents\r\n", SQL</para>
+        <para>NOTE 1: This template is embedded into core application under name 
+<emphasis remap="B">StdDBFmt</emphasis>
+, so you don't need to define it.</para>
+        <para>NOTE 2: You have to have MySQL module installed to use this template.
+<!-- .ad -->
+  </para>
+      </blockquote>
+      <!-- remap='RE' -->
+    </refsect2>
+  </refsect1>
+  <refsect1 id="output_channels">
+    <title>OUTPUT CHANNELS</title>
+    <para>Output Channels are a new concept first introduced in rsyslog 0.9.0. As of this writing, 
+it is most likely that they will be replaced by something different in the future.
+So if you use them, be prepared to change you configuration file syntax when you upgrade 
+to a later release.</para>
+    <para>Output channels are defined via an $outchannel directive. It's syntax is as follows:</para>
+    <blockquote remap="RS">
+      <para><emphasis remap="B">$outchannel name,file-name,max-size,action-on-max-size</emphasis>
+  </para>
+    </blockquote>
+    <!-- remap='RE' -->
+    <para>name is the name of the output channel (not the file), file-name is the file name to be 
+written to, max-size the maximum allowed size and action-on-max-size a command to be issued 
+when the max size is reached. This command always has exactly one parameter. The binary is 
+that part of action-on-max-size before the first space, its parameter is everything behind 
+that space.</para>
+    <para>Keep in mind that $outchannel just defines a channel with "name". It does not activate it. 
+To do so, you must use a selector line (see below). That selector line includes the channel 
+name plus an $ sign in front of it. A sample might be:</para>
+    <literallayout remap="RS">
+<synopsis>
+*.* $mychannel
+</synopsis>
+</literallayout>
+    <!-- remap='RE' -->
+  </refsect1>
+  <refsect1 id="property_replacer">
+    <title>PROPERTY REPLACER</title>
+    <para>The property replacer is a core component in rsyslogd's output system. A syslog message has 
+a number of well-defined properties (see below). Each of this properties can be accessed and 
+manipulated by the property replacer. With it, it is easy to use only part of a property value 
+or manipulate the value, e.g. by converting all characters to lower case.</para>
+    <refsect2 id="accessing_properties">
+      <title>Accessing Properties</title>
+      <para>Syslog message properties are used inside templates. They are accessed by putting them between 
+percent signs. Properties can be modified by the property replacer. The full syntax is as follows:</para>
+      <blockquote remap="RS">
+        <para><emphasis remap="B">%propname:fromChar:toChar:options%</emphasis>
+  </para>
+      </blockquote>
+      <!-- remap='RE' -->
+      <para>propname is the name of the property to access. 
+<emphasis remap="B">It is case-sensitive.</emphasis></para>
+    </refsect2>
+    <refsect2 id="available_properties">
+      <title>Available Properties</title>
+      <variablelist remap="TP">
+        <varlistentry>
+          <term>
+            <emphasis remap="B">msg</emphasis>
+          </term>
+          <listitem>
+            <para>the MSG part of the message (aka "the message" ;))</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">rawmsg</emphasis>
+          </term>
+          <listitem>
+            <para>the message exactly as it was received from the socket. Should be useful for debugging.</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">HOSTNAME</emphasis>
+          </term>
+          <listitem>
+            <para>hostname from the message</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">FROMHOST</emphasis>
+          </term>
+          <listitem>
+            <para>hostname of the system the message was received from (in a relay chain, this is the system immediately 
+in front of us and not necessarily the original sender)</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">syslogtag</emphasis>
+          </term>
+          <listitem>
+            <para>TAG from the message</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">programname</emphasis>
+          </term>
+          <listitem>
+            <para>the "static" part of the tag, as defined by BSD syslogd. For example, when TAG is "named[12345]", 
+programname is "named".</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">PRI</emphasis>
+          </term>
+          <listitem>
+            <para>PRI part of the message - undecoded (single value)</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">PRI-text</emphasis>
+          </term>
+          <listitem>
+            <para>the PRI part of the message in a textual form (e.g. "syslog.info")</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">IUT</emphasis>
+          </term>
+          <listitem>
+            <para>the monitorware InfoUnitType - used when talking to a MonitorWare backend (also for phpLogCon)</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">syslogfacility</emphasis>
+          </term>
+          <listitem>
+            <para>the facility from the message - in numerical form</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">syslogfacility-text</emphasis>
+          </term>
+          <listitem>
+            <para>the facility from the message - in text form</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">syslogseverity</emphasis>
+          </term>
+          <listitem>
+            <para>severity from the message - in numerical form</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">syslogseverity-text</emphasis>
+          </term>
+          <listitem>
+            <para>severity from the message - in text form</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">timegenerated</emphasis>
+          </term>
+          <listitem>
+            <para>timestamp when the message was RECEIVED. Always in high resolution</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">timereported</emphasis>
+          </term>
+          <listitem>
+            <para>timestamp from the message. Resolution depends on what was provided in the message (in most cases, only seconds)</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">TIMESTAMP</emphasis>
+          </term>
+          <listitem>
+            <para>alias for timereported</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">PROTOCOL-VERSION</emphasis>
+          </term>
+          <listitem>
+            <para>The contents of the PROTOCOL-VERSION field from IETF draft draft-ietf-syslog-protocol</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">STRUCTURED-DATA</emphasis>
+          </term>
+          <listitem>
+            <para>The contents of the STRUCTURED-DATA field from IETF draft draft-ietf-syslog-protocol</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">APP-NAME</emphasis>
+          </term>
+          <listitem>
+            <para>The contents of the APP-NAME field from IETF draft draft-ietf-syslog-protocol</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">PROCID</emphasis>
+          </term>
+          <listitem>
+            <para>The contents of the PROCID field from IETF draft draft-ietf-syslog-protocol</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">MSGID</emphasis>
+          </term>
+          <listitem>
+            <para>The contents of the MSGID field from IETF draft draft-ietf-syslog-protocol</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">$NOW</emphasis>
+          </term>
+          <listitem>
+            <para>The current date stamp in the format YYYY-MM-DD</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">$YEAR</emphasis>
+          </term>
+          <listitem>
+            <para>The current year (4-digit)</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">$MONTH</emphasis>
+          </term>
+          <listitem>
+            <para>The current month (2-digit)</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">$DAY</emphasis>
+          </term>
+          <listitem>
+            <para>The current day of the month (2-digit)</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">$HOUR</emphasis>
+          </term>
+          <listitem>
+            <para>The current hour in military (24 hour) time (2-digit)</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <emphasis remap="B">$MINUTE</emphasis>
+          </term>
+          <listitem>
+            <para>The current minute (2-digit)</para>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Properties starting with a $-sign are so-called system properties. These do NOT stem from the 
+message but are rather internally-generated.</para>
+    </refsect2>
+    <refsect2 id="character_positions">
+      <title>Character Positions</title>
+      <para>FromChar and toChar are used to build substrings. They specify the offset within the string that 
+should be copied. Offset counting starts at 1, so if you need to obtain the first 2 characters of 
+the message text, you can use this syntax: "%msg:1:2%". If you do not wish to specify from and to, 
+but you want to specify options, you still need to include the colons. For example, if you would 
+like to convert the full message text to lower case, use "%msg:::lowercase%". If you would like to 
+extract from a position until the end of the string, you can place a dollar-sign ("$") in toChar 
+(e.g. %msg:10:$%, which will extract from position 10 to the end of the string).</para>
+      <para>There is also support for 
+<emphasis remap="B">regular expressions.</emphasis>
+To use them, you need to place a "R" into FromChar. 
+This tells rsyslog that a regular expression instead of position-based extraction is desired. The 
+actual regular expression 
+<emphasis remap="B">must</emphasis>
+then be provided in toChar. The regular expression must be followed 
+by the string "--end". It denotes the end of the regular expression and will not become part of it. 
+If you are using regular expressions, the property replacer will return the part of the property text 
+that matches the regular expression. An example for a property replacer sequence with a regular 
+expression is: "%msg:R:.*Sev:. \(.*\) \[.*--end%"</para>
+      <para>Also, extraction can be done based on so-called "fields". To do so, place a "F" into FromChar. A field 
+in its current definition is anything that is delimited by a delimiter character. The delimiter by 
+default is TAB (US-ASCII value 9). However, if can be changed to any other US-ASCII character by 
+specifying a comma and the decimal US-ASCII value of the delimiter immediately after the "F". For example, 
+to use comma (",") as a delimiter, use this field specifier: "F,44".  If your syslog data is delimited, 
+this is a quicker way to extract than via regular expressions (actually, a *much* quicker way). Field 
+counting starts at 1. Field zero is accepted, but will always lead to a "field not found" error. The same 
+happens if a field number higher than the number of fields in the property is requested. The field number 
+must be placed in the "ToChar" parameter. An example where the 3rd field (delimited by TAB) from the msg 
+property is extracted is as follows: "%msg:F:3%". The same example with semicolon as delimiter is 
+"%msg:F,59:3%".</para>
+      <para>Please note that the special characters "F" and "R" are case-sensitive. Only upper case works, lower case 
+will return an error. There are no white spaces permitted inside the sequence (that will lead to error 
+messages and will NOT provide the intended result).</para>
+    </refsect2>
+    <refsect2 id="property_options">
+      <title>Property Options</title>
+      <para>Property options are case-insensitive. Currently, the following options are defined:</para>
+      <variablelist remap="TP">
+        <varlistentry>
+          <term>uppercase</term>
+          <listitem>
+            <para>convert property to lowercase only</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>lowercase</term>
+          <listitem>
+            <para>convert property text to uppercase only</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>drop-last-lf</term>
+          <listitem>
+            <para>The last LF in the message (if any), is dropped. Especially useful for PIX.</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>date-mysql</term>
+          <listitem>
+            <para>format as mysql date</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>date-rfc3164</term>
+          <listitem>
+            <para>format as RFC 3164 date</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>date-rfc3339</term>
+          <listitem>
+            <para>format as RFC 3339 date</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>escape-cc</term>
+          <listitem>
+            <para>replace control characters (ASCII value 127 and values less then 32) with an escape sequence. The sequence is "#&lt;charval&gt;" where charval is the 3-digit decimal value of the control character. For example, a tabulator would be replaced by "#009".</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>space-cc</term>
+          <listitem>
+            <para>replace control characters by spaces</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>drop-cc</term>
+          <listitem>
+            <para>drop control characters - the resulting string will neither contain control characters, escape sequences nor any other replacement character like space.</para>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+    </refsect2>
+  </refsect1>
+  <refsect1 id="queued_operations">
+    <title>QUEUED OPERATIONS</title>
+    <para>Rsyslogd supports queued operations to handle offline outputs
+(like remote syslogd's or database servers being down). When running in
+queued mode, rsyslogd buffers messages to memory and optionally to disk
+(on an as-needed basis). Queues survive rsyslogd restarts.</para>
+    <para>It is highly suggested to use remote forwarding and database writing
+in queued mode, only.</para>
+    <para>To learn more about queued operations, see the html documentation.</para>
+  </refsect1>
+  <refsect1 id="files">
+    <title>FILES</title>
+    <!-- .PD 0 -->
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <filename>/etc/rsyslog.conf</filename>
+        </term>
+        <listitem>
+          <para>Configuration file for
+<emphasis remap="B">rsyslogd</emphasis></para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1 id="see_also">
+    <title>SEE ALSO</title>
+    <para><citerefentry><refentrytitle>rsyslogd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>logger</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry></para>
+    <para>The complete documentation can be found in the doc folder of the rsyslog distribution or online at</para>
+    <blockquote remap="RS">
+      <para><emphasis remap="B"><ulink url="http://www.rsyslog.com/doc">http://www.rsyslog.com/doc</ulink></emphasis>
+
+  </para>
+    </blockquote>
+    <!-- remap='RE' -->
+    <para>Please note that the man page reflects only a subset of the configuration options. Be sure to read
+the html documentation for all features and details. This is especially vital if you plan to set
+up a more-then-extremely-simple system.</para>
+  </refsect1>
+  <refsect1 id="authors">
+    <title>AUTHORS</title>
+    <para><emphasis remap="B">rsyslogd</emphasis>
+is taken from sysklogd sources, which have been heavily modified
+by Rainer Gerhards (rgerhards@adiscon.com) and others.</para>
+  </refsect1>
+</refentry>
diff --git a/man/ja/rsyslogd.8.xml b/man/ja/rsyslogd.8.xml
new file mode 100644
index 0000000..6a6d286
--- /dev/null
+++ b/man/ja/rsyslogd.8.xml
@@ -0,0 +1,667 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<!-- lifted from troff+man by doclifter -->
+<refentry id="rsyslogd8">
+  <!--  Copyright 2004\-2008 Rainer Gerhards and Adiscon for the rsyslog modifications -->
+  <!--  May be distributed under the GNU General Public License -->
+  <refentryinfo>
+    <date>29 July 2008</date>
+  </refentryinfo>
+  <refmeta>
+    <refentrytitle>RSYSLOGD</refentrytitle>
+    <manvolnum>8</manvolnum>
+    <refmiscinfo class="date">29 July 2008</refmiscinfo>
+    <refmiscinfo class="source">Version 3.21.1</refmiscinfo>
+    <refmiscinfo class="manual">Linux System Administration</refmiscinfo>
+  </refmeta>
+  <refnamediv id="name">
+    <refname>rsyslogd</refname>
+    <refpurpose>reliable and extended syslogd </refpurpose>
+  </refnamediv>
+  <!-- body begins here -->
+  <refsynopsisdiv id="synopsis">
+    <cmdsynopsis>
+      <command>rsyslogd</command>
+      <arg choice="opt">-4 </arg>
+      <arg choice="opt">-6 </arg>
+      <arg choice="opt">-A </arg>
+      <arg choice="opt">-d </arg>
+      <arg choice="opt">
+        <arg choice="plain">-f </arg>
+        <arg choice="plain">
+          <replaceable>config</replaceable>
+        </arg>
+        <arg choice="plain">
+          <replaceable>file</replaceable>
+        </arg>
+      </arg>
+      <sbr/>
+      <arg choice="opt">
+        <arg choice="plain">-i </arg>
+        <arg choice="plain">
+          <replaceable>pid</replaceable>
+        </arg>
+        <arg choice="plain">
+          <replaceable>file</replaceable>
+        </arg>
+      </arg>
+      <arg choice="opt">
+        <arg choice="plain">-l </arg>
+        <arg choice="plain">
+          <replaceable>hostlist</replaceable>
+        </arg>
+      </arg>
+      <arg choice="opt">-n </arg>
+      <arg choice="opt">
+        <arg choice="plain">-N </arg>
+        <arg choice="plain">
+          <replaceable>level</replaceable>
+        </arg>
+      </arg>
+      <sbr/>
+      <arg choice="opt">-q </arg>
+      <arg choice="opt">-Q </arg>
+      <arg choice="opt">
+        <arg choice="plain">-s </arg>
+        <arg choice="plain">
+          <replaceable>domainlist</replaceable>
+        </arg>
+      </arg>
+      <arg choice="opt">
+        <arg choice="plain">-u </arg>
+        <arg choice="plain">
+          <replaceable>userlevel</replaceable>
+        </arg>
+      </arg>
+      <arg choice="opt">-v </arg>
+      <arg choice="opt">-w </arg>
+      <arg choice="opt">-x </arg>
+      <sbr/>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1 id="description">
+    <title>DESCRIPTION</title>
+    <para><emphasis remap="B">Rsyslogd</emphasis>
+is a system utility providing support for message logging.
+Support of both internet and
+unix domain sockets enables this utility to support both local
+and remote logging.</para>
+    <para><emphasis remap="B">Note that this version of rsyslog ships with extensive documentation in html format.</emphasis>
+This is provided in the ./doc subdirectory and probably
+in a separate package if you installed rsyslog via a packaging system.
+To use rsyslog's advanced features, you
+<emphasis remap="B">need</emphasis>
+to look at the html documentation, because the man pages only cover
+basic aspects of operation.
+<emphasis remap="B">For details and configuration examples, see the rsyslog.conf (5)</emphasis>
+<emphasis remap="B">man page and the online documentation at <ulink url="http://www.rsyslog.com/doc">http://www.rsyslog.com/doc</ulink></emphasis></para>
+    <para><citerefentry><refentrytitle>Rsyslogd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+is derived from the sysklogd package which in turn is derived from the
+stock BSD sources.</para>
+    <para><emphasis remap="B">Rsyslogd</emphasis>
+provides a kind of logging that many modern programs use.  Every logged
+message contains at least a time and a hostname field, normally a
+program name field, too, but that depends on how trusty the logging
+program is. The rsyslog package supports free definition of output formats
+via templates. It also supports precise timestamps and writing directly
+to databases. If the database option is used, tools like phpLogCon can
+be used to view the log data.</para>
+    <para>While the
+<command>rsyslogd</command>
+sources have been heavily modified a couple of notes
+are in order.  First of all there has been a systematic attempt to
+ensure that rsyslogd follows its default, standard BSD behavior. Of course,
+some configuration file changes are necessary in order to support the
+template system. However, rsyslogd should be able to use a standard
+syslog.conf and act like the orginal syslogd. However, an original syslogd
+will not work correctly with a rsyslog-enhanced configuration file. At
+best, it will generate funny looking file names.
+The second important concept to note is that this version of rsyslogd
+interacts transparently with the version of syslog found in the
+standard libraries.  If a binary linked to the standard shared
+libraries fails to function correctly we would like an example of the
+anomalous behavior.</para>
+    <para>The main configuration file
+<filename>/etc/rsyslog.conf</filename>
+or an alternative file, given with the 
+<option>-f</option>
+option, is read at startup.  Any lines that begin with the hash mark
+(&#8220;#&#8221;) and empty lines are ignored.  If an error occurs during parsing
+the error element is ignored. It is tried to parse the rest of the line.</para>
+  </refsect1>
+  <refsect1 id="options">
+    <title>OPTIONS</title>
+    <para><emphasis remap="B">Note that in version 3 of rsyslog a number of command line options</emphasis>
+<emphasis remap="B">have been deprecated and replaced with config file directives. The</emphasis>
+<option>-c option controls the backward compatibility mode in use.</option></para>
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <option>-A</option>
+        </term>
+        <listitem>
+          <para>When sending UDP messages, there are potentially multiple pathes to
+the target destination. By default,
+<command>rsyslogd</command>
+only sends to the first target it can successfully send to. If -A 
+is given, messages are sent to all targets. This may improve
+reliability, but may also cause message duplicaton. This option
+should enabled only if it is fully understood.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-4</option>
+        </term>
+        <listitem>
+          <para>Causes
+<command>rsyslogd</command>
+to listen to IPv4 addresses only.
+If neither -4 nor -6 is given,
+<command>rsyslogd</command>
+listens to all configured addresses of the system.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-6</option>
+        </term>
+        <listitem>
+          <para>Causes
+<command>rsyslogd</command>
+to listen to IPv6 addresses only.
+If neither -4 nor -6 is given,
+<command>rsyslogd</command>
+listens to all configured addresses of the system.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-c </option>
+          <emphasis remap="I">version</emphasis>
+        </term>
+        <listitem>
+          <para>Selects the desired backward compatibility mode. It must always be the
+first option on the command line, as it influences processing of the
+other options. To use the rsyslog v3 native interface, specify -c3. To
+use compatibility mode , either do not use -c at all or use
+-c&lt;version&gt; where 
+<emphasis remap="I">version</emphasis>
+is the rsyslog version that it shall be
+compatible with. Using -c0 tells rsyslog to be command-line compatible
+to sysklogd, which is the default if -c is not given.
+<emphasis remap="B">Please note that rsyslogd issues warning messages if the -c3</emphasis>
+<emphasis remap="B">command line option is not given.</emphasis>
+This is to alert you that your are running in compatibility
+mode. Compatibility mode interfers with you rsyslog.conf commands and
+may cause some undesired side-effects. It is meant to be used with a
+plain old rsyslog.conf - if you use new features, things become
+messy. So the best advice is to work through this document, convert
+your options and config file and then use rsyslog in native mode. In
+order to aid you in this process, rsyslog logs every
+compatibility-mode config file directive it has generated. So you can
+simply copy them from your logfile and paste them to the config.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-d</option>
+        </term>
+        <listitem>
+          <para>Turns on debug mode.  Using this the daemon will not proceed a 
+<citerefentry><refentrytitle>fork</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+to set itself in the background, but opposite to that stay in the
+foreground and write much debug information on the current tty.  See the
+DEBUGGING section for more information.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-f </option>
+          <emphasis remap="I">config file</emphasis>
+        </term>
+        <listitem>
+          <para>Specify an alternative configuration file instead of
+<filename>/etc/rsyslog.conf</filename>,
+which is the default.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-i </option>
+          <emphasis remap="I">pid file</emphasis>
+        </term>
+        <listitem>
+          <para>Specify an alternative pid file instead of the default one.
+This option must be used if multiple instances of rsyslogd should
+run on a single machine.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-l </option>
+          <emphasis remap="I">hostlist</emphasis>
+        </term>
+        <listitem>
+          <para>Specify a hostname that should be logged only with its simple hostname
+and not the fqdn.  Multiple hosts may be specified using the colon
+(&#8220;:&#8221;) separator.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-n</option>
+        </term>
+        <listitem>
+          <para>Avoid auto-backgrounding.  This is needed especially if the
+<command>rsyslogd</command>
+is started and controlled by
+<citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-N level</option>
+        </term>
+        <listitem>
+          <para>Do a coNfig check. Do NOT run in regular mode, just check configuration
+file correctness.
+This option is meant to verify a config file. To do so, run rsyslogd
+interactively in foreground, specifying -f &lt;config-file&gt; and -N level.
+The level argument modifies behaviour. Currently, 0 is the same as
+not specifying the -N option at all (so this makes limited sense) and
+1 actually activates the code. Later, higher levels will mean more
+verbosity (this is a forward-compatibility option).
+<command>rsyslogd</command>
+is started and controlled by
+<citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-q </option>
+          <emphasis remap="I">add hostname if DNS fails during ACL processing</emphasis>
+        </term>
+        <listitem>
+          <para>During ACL processing, hostnames are resolved to IP addreses for
+performance reasons. If DNS fails during that process, the hostname
+is added as wildcard text, which results in proper, but somewhat
+slower operation once DNS is up again.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-Q </option>
+          <emphasis remap="I">do not resolve hostnames during ACL processing</emphasis>
+        </term>
+        <listitem>
+          <para>Do not resolve hostnames to IP addresses during ACL processing.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-s </option>
+          <emphasis remap="I">domainlist</emphasis>
+        </term>
+        <listitem>
+          <para>Specify a domainname that should be stripped off before
+logging.  Multiple domains may be specified using the colon (&#8220;:&#8221;)
+separator.
+Please be advised that no sub-domains may be specified but only entire
+domains.  For example if
+<option>-s north.de</option>
+is specified and the host logging resolves to satu.infodrom.north.de
+no domain would be cut, you will have to specify two domains like:
+<option>-s north.de:infodrom.north.de</option>.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-u </option>
+          <emphasis remap="I">userlevel</emphasis>
+        </term>
+        <listitem>
+          <para>This is a "catch all" option for some very seldomly-used user settings.
+The "userlevel" variable selects multiple things. Add the specific values
+to get the combined effect of them.
+A value of 1 prevents rsyslogd from parsing hostnames and tags inside
+messages.
+A value of 2 prevents rsyslogd from changing to the root directory. This
+is almost never a good idea in production use. This option was introduced
+in support of the internal testbed.
+To combine these two features, use a userlevel of 3 (1+2). Whenever you use
+an -u option, make sure you really understand what you do and why you do it.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-v</option>
+        </term>
+        <listitem>
+          <para>Print version and exit.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-w</option>
+        </term>
+        <listitem>
+          <para>Supress warnings issued when messages are received from non-authorized
+machines (those, that are in no AllowedSender list).</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-x</option>
+        </term>
+        <listitem>
+          <para>Disable DNS for remote messages.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1 id="signals">
+    <title>SIGNALS</title>
+    <para><emphasis remap="B">Rsyslogd</emphasis>
+reacts to a set of signals.  You may easily send a signal to
+<command>rsyslogd</command>
+using the following:</para>
+    <literallayout remap=".nf">
+kill -SIGNAL $(cat /var/run/syslogd.pid)
+</literallayout>
+    <!-- .fi -->
+    <para>Note that -SIGNAL must be replaced with the actual signal
+you are trying to send, e.g. with HUP. So it then becomes:</para>
+    <literallayout remap=".nf">
+kill -HUP $(cat /var/run/syslogd.pid)
+</literallayout>
+    <!-- .fi -->
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <emphasis remap="B">HUP</emphasis>
+        </term>
+        <listitem>
+          <para>This lets
+<command>rsyslogd</command>
+perform a re-initialization.  All open files are closed, the
+configuration file (default is 
+<filename>/etc/rsyslog.conf</filename>)
+will be reread and the
+<citerefentry><refentrytitle>rsyslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+facility is started again.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="B">TERM , INT , QUIT</emphasis>
+        </term>
+        <listitem>
+          <para><emphasis remap="B">Rsyslogd</emphasis>
+will die.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="B">USR1</emphasis>
+        </term>
+        <listitem>
+          <para>Switch debugging on/off.  This option can only be used if
+<command>rsyslogd</command>
+is started with the
+<option>-d</option>
+debug option.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="B">CHLD</emphasis>
+        </term>
+        <listitem>
+          <para>Wait for childs if some were born, because of wall'ing messages.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1 id="security_threats">
+    <title>SECURITY THREATS</title>
+    <para>There is the potential for the rsyslogd daemon to be
+used as a conduit for a denial of service attack.
+A rogue program(mer) could very easily flood the rsyslogd daemon with
+syslog messages resulting in the log files consuming all the remaining
+space on the filesystem.  Activating logging over the inet domain
+sockets will of course expose a system to risks outside of programs or
+individuals on the local machine.</para>
+    <para>There are a number of methods of protecting a machine:</para>
+    <variablelist remap="IP">
+      <varlistentry>
+        <term>1.</term>
+        <listitem>
+          <para>Implement kernel firewalling to limit which hosts or networks have
+access to the 514/UDP socket.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>2.</term>
+        <listitem>
+          <para>Logging can be directed to an isolated or non-root filesystem which,
+if filled, will not impair the machine.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>3.</term>
+        <listitem>
+          <para>The ext2 filesystem can be used which can be configured to limit a
+certain percentage of a filesystem to usage by root only.  <emphasis remap="B">NOTE</emphasis>
+that this will require rsyslogd to be run as a non-root process.
+<emphasis remap="B">ALSO NOTE</emphasis> that this will prevent usage of remote logging on the default port since
+rsyslogd will be unable to bind to the 514/UDP socket.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>4.</term>
+        <listitem>
+          <para>Disabling inet domain sockets will limit risk to the local machine.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <refsect2 id="message_replay_and_spoofing">
+      <title>Message replay and spoofing</title>
+      <para>If remote logging is enabled, messages can easily be spoofed and replayed.
+As the messages are transmitted in clear-text, an attacker might use
+the information obtained from the packets for malicious things. Also, an
+attacker might replay recorded messages or spoof a sender's IP address,
+which could lead to a wrong perception of system activity. These can
+be prevented by using GSS-API authentication and encryption. Be sure
+to think about syslog network security before enabling it.</para>
+    </refsect2>
+  </refsect1>
+  <refsect1 id="debugging">
+    <title>DEBUGGING</title>
+    <para>When debugging is turned on using
+<option>-d</option>
+option then
+<command>rsyslogd</command>
+will be very verbose by writing much of what it does on stdout.</para>
+  </refsect1>
+  <refsect1 id="files">
+    <title>FILES</title>
+    <!-- .PD 0 -->
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <filename>/etc/rsyslog.conf</filename>
+        </term>
+        <listitem>
+          <para>Configuration file for
+<command>rsyslogd</command>.
+See
+<citerefentry><refentrytitle>rsyslog.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+for exact information.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <filename>/dev/log</filename>
+        </term>
+        <listitem>
+          <para>The Unix domain socket to from where local syslog messages are read.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <filename>/var/run/rsyslogd.pid</filename>
+        </term>
+        <listitem>
+          <para>The file containing the process id of 
+<command>rsyslogd</command>.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="I">prefix/lib/rsyslog</emphasis>
+        </term>
+        <listitem>
+          <para>Default directory for
+<command>rsyslogd</command>
+modules. The
+<emphasis remap="I">prefix</emphasis>
+is specified during compilation (e.g. /usr/local).</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1 id="environment">
+    <title>ENVIRONMENT</title>
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <emphasis remap="B">RSYSLOG_DEBUG</emphasis>
+        </term>
+        <listitem>
+          <para>Controls runtime debug support.It contains an option string with the
+following options possible (all are case insensitive):</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <variablelist remap="IP">
+      <varlistentry>
+        <term>LogFuncFlow</term>
+        <listitem>
+          <para>Print out the logical flow of functions (entering and exiting them)</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>FileTrace</term>
+        <listitem>
+          <para>Specifies which files to trace LogFuncFlow. If not set (the
+default), a LogFuncFlow trace is provided for all files. Set to
+limit it to the files specified.FileTrace may be specified multiple
+times, one file each (e.g. export RSYSLOG_DEBUG="LogFuncFlow
+FileTrace=vm.c FileTrace=expr.c"</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>PrintFuncDB</term>
+        <listitem>
+          <para>Print the content of the debug function database whenever debug
+information is printed (e.g. abort case)!</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>PrintAllDebugInfoOnExit</term>
+        <listitem>
+          <para>Print all debug information immediately before rsyslogd exits
+(currently not implemented!)</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>PrintMutexAction</term>
+        <listitem>
+          <para>Print mutex action as it happens. Useful for finding deadlocks and
+such.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>NoLogTimeStamp</term>
+        <listitem>
+          <para>Do not prefix log lines with a timestamp (default is to do that).</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>NoStdOut</term>
+        <listitem>
+          <para>Do not emit debug messages to stdout. If RSYSLOG_DEBUGLOG is not
+set, this means no messages will be displayed at all.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>Help</term>
+        <listitem>
+          <para>Display a very short list of commands - hopefully a life saver if
+you can't access the documentation...</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>
+          <emphasis remap="B">RSYSLOG_DEBUGLOG</emphasis>
+        </term>
+        <listitem>
+          <para>If set, writes (allmost) all debug message to the specified log file
+in addition to stdout.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap="B">RSYSLOG_MODDIR</emphasis>
+        </term>
+        <listitem>
+          <para>Provides the default directory in which loadable modules reside.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1 id="bugs">
+    <title>BUGS</title>
+    <para>Please review the file BUGS for up-to-date information on known
+bugs and annouyances.</para>
+  </refsect1>
+  <refsect1 id="further_information">
+    <title>Further Information</title>
+    <para>Please visit
+<emphasis remap="B"><ulink url="http://www.rsyslog.com/doc">http://www.rsyslog.com/doc</ulink></emphasis>
+for additional information, tutorials and a support forum.</para>
+  </refsect1>
+  <refsect1 id="see_also">
+    <title>SEE ALSO</title>
+    <para><citerefentry><refentrytitle>rsyslog.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>logger</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>syslog</refentrytitle><manvolnum>2</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>services</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>savelog</refentrytitle><manvolnum>8</manvolnum></citerefentry></para>
+  </refsect1>
+  <refsect1 id="collaborators">
+    <title>COLLABORATORS</title>
+    <para><command>rsyslogd</command>
+is derived from sysklogd sources, which in turn was taken from
+the BSD sources. Special thanks to Greg Wettstein (greg@wind.enjellic.com)
+and Martin Schulze (joey@linux.de) for the fine sysklogd package.</para>
+    <!-- .PD 0 -->
+    <variablelist remap="TP">
+      <varlistentry>
+        <term>Rainer Gerhards</term>
+        <term>Adiscon GmbH</term>
+        <term>Grossrinderfeld, Germany</term>
+        <term>rgerhards@adiscon.com</term>
+        <listitem>
+          <!-- .PD -->
+          <para/>
+          <!-- FIXME: blank list item -->
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+</refentry>
-- 
1.5.6.4

