# Package org.apache.synapse.format.syslog

package org.apache.synapse.format.syslog
Implementation of the BSD syslog protocol described in RFC 3164.

The protocol is implemented as an Axis2 message builder that takes a single syslog message as input and that produces an XML representation of the event in the form of an AXIOM tree. The XML format is non standard and is defined by the `org/apache/synapse/format/syslog/schema.xsd` included in the JAR.

A typical message looks as follows:

     <message xmlns="http://synapse.apache.org/ns/syslog"
              facility="authpriv" severity="info" tag="CRON" pid="6813">
       pam_unix(cron:session): session closed for user root
     </message>

The message builder can be registered in the Axis2 configuration file (`axis2.xml`) in the following way:

     <messageBuilders>
       <messageBuilder contentType="application/x-syslog"
                       class="org.apache.synapse.format.syslog.SyslogMessageBuilder"/>
     </messageBuilders>

Again the content type `application/x-syslog` is non standard and is only used to refer to the message builder later.

#### Known issues

- The message builder currently doesn't support timestamp and host fields. Messages containing these fields are not parsed correctly.

- Class
  Description
  InputStreamConsumer
  Input stream consumer.
  ProtocolException
  Exception used by `InputStreamConsumer`.
  SyslogConstants
  Class defining constants for the syslog protocol.
  SyslogMessageBuilder
  Message builder for syslog events.