org.apache.logging.log4j.core.layout
Class Rfc5424Layout

java.lang.Object
  extended by org.apache.logging.log4j.core.layout.AbstractLayout<String>
      extended by org.apache.logging.log4j.core.layout.AbstractStringLayout
          extended by org.apache.logging.log4j.core.layout.Rfc5424Layout
All Implemented Interfaces:
Serializable, Layout<String>

@Plugin(name="Rfc5424Layout",
        category="Core",
        elementType="layout",
        printObject=true)
public final class Rfc5424Layout
extends AbstractStringLayout

Formats a log event in accordance with RFC 5424.

See Also:
RFC 5424, Serialized Form

Field Summary
static int DEFAULT_ENTERPRISE_NUMBER
          Not a very good default - it is the Apache Software Foundation's enterprise number.
static String DEFAULT_ID
          The default event id.
static String DEFAULT_MDCID
           
static Pattern NEWLINE_PATTERN
          Match newlines in a platform-independent manner.
static Pattern PARAM_VALUE_ESCAPE_PATTERN
          Match characters which require escaping
 
Fields inherited from class org.apache.logging.log4j.core.layout.AbstractLayout
footer, header, LOGGER
 
Fields inherited from interface org.apache.logging.log4j.core.Layout
ELEMENT_TYPE
 
Method Summary
static Rfc5424Layout createLayout(Facility facility, String id, int enterpriseNumber, boolean includeMDC, String mdcId, String mdcPrefix, String eventPrefix, boolean newLine, String escapeNL, String appName, String msgId, String excludes, String includes, String required, String exceptionPattern, boolean useTlsMessageFormat, LoggerFields[] loggerFields, Configuration config)
          Create the RFC 5424 Layout.
 Map<String,String> getContentFormat()
          Gets this Rfc5424Layout's content format.
protected  List<String> getMdcExcludes()
           
protected  List<String> getMdcIncludes()
           
protected  String getProcId()
           
 String toSerializable(LogEvent event)
          Formats a LogEvent in conformance with the RFC 5424 Syslog specification.
 String toString()
           
 
Methods inherited from class org.apache.logging.log4j.core.layout.AbstractStringLayout
getBytes, getCharset, getContentType, toByteArray
 
Methods inherited from class org.apache.logging.log4j.core.layout.AbstractLayout
getFooter, getHeader
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_ENTERPRISE_NUMBER

public static final int DEFAULT_ENTERPRISE_NUMBER
Not a very good default - it is the Apache Software Foundation's enterprise number.

See Also:
Constant Field Values

DEFAULT_ID

public static final String DEFAULT_ID
The default event id.

See Also:
Constant Field Values

NEWLINE_PATTERN

public static final Pattern NEWLINE_PATTERN
Match newlines in a platform-independent manner.


PARAM_VALUE_ESCAPE_PATTERN

public static final Pattern PARAM_VALUE_ESCAPE_PATTERN
Match characters which require escaping


DEFAULT_MDCID

public static final String DEFAULT_MDCID
See Also:
Constant Field Values
Method Detail

getContentFormat

public Map<String,String> getContentFormat()
Gets this Rfc5424Layout's content format. Specified by:

Specified by:
getContentFormat in interface Layout<String>
Overrides:
getContentFormat in class AbstractLayout<String>
Returns:
Map of content format keys supporting Rfc5424Layout

toSerializable

public String toSerializable(LogEvent event)
Formats a LogEvent in conformance with the RFC 5424 Syslog specification.

Parameters:
event - The LogEvent.
Returns:
The RFC 5424 String representation of the LogEvent.

getProcId

protected String getProcId()

getMdcExcludes

protected List<String> getMdcExcludes()

getMdcIncludes

protected List<String> getMdcIncludes()

toString

public String toString()
Overrides:
toString in class Object

createLayout

@PluginFactory
public static Rfc5424Layout createLayout(@PluginAttribute(value="facility",defaultString="LOCAL0")
                                                       Facility facility,
                                                       @PluginAttribute(value="id")
                                                       String id,
                                                       @PluginAttribute(value="enterpriseNumber",defaultInt=18060)
                                                       int enterpriseNumber,
                                                       @PluginAttribute(value="includeMDC",defaultBoolean=true)
                                                       boolean includeMDC,
                                                       @PluginAttribute(value="mdcId",defaultString="mdc")
                                                       String mdcId,
                                                       @PluginAttribute(value="mdcPrefix")
                                                       String mdcPrefix,
                                                       @PluginAttribute(value="eventPrefix")
                                                       String eventPrefix,
                                                       @PluginAttribute(value="newLine",defaultBoolean=false)
                                                       boolean newLine,
                                                       @PluginAttribute(value="newLineEscape")
                                                       String escapeNL,
                                                       @PluginAttribute(value="appName")
                                                       String appName,
                                                       @PluginAttribute(value="messageId")
                                                       String msgId,
                                                       @PluginAttribute(value="mdcExcludes")
                                                       String excludes,
                                                       @PluginAttribute(value="mdcIncludes")
                                                       String includes,
                                                       @PluginAttribute(value="mdcRequired")
                                                       String required,
                                                       @PluginAttribute(value="exceptionPattern")
                                                       String exceptionPattern,
                                                       @PluginAttribute(value="useTlsMessageFormat",defaultBoolean=false)
                                                       boolean useTlsMessageFormat,
                                                       @PluginElement(value="LoggerFields")
                                                       LoggerFields[] loggerFields,
                                                       @PluginConfiguration
                                                       Configuration config)
Create the RFC 5424 Layout.

Parameters:
facility - The Facility is used to try to classify the message.
id - The default structured data id to use when formatting according to RFC 5424.
enterpriseNumber - The IANA enterprise number.
includeMDC - Indicates whether data from the ThreadContextMap will be included in the RFC 5424 Syslog record. Defaults to "true:.
mdcId - The id to use for the MDC Structured Data Element.
mdcPrefix - The prefix to add to MDC key names.
eventPrefix - The prefix to add to event key names.
newLine - If true, a newline will be appended to the end of the syslog record. The default is false.
escapeNL - String that should be used to replace newlines within the message text.
appName - The value to use as the APP-NAME in the RFC 5424 syslog record.
msgId - The default value to be used in the MSGID field of RFC 5424 syslog records.
excludes - A comma separated list of MDC keys that should be excluded from the LogEvent.
includes - A comma separated list of MDC keys that should be included in the FlumeEvent.
required - A comma separated list of MDC keys that must be present in the MDC.
exceptionPattern - The pattern for formatting exceptions.
useTlsMessageFormat - If true the message will be formatted according to RFC 5425.
loggerFields - Container for the KeyValuePairs containing the patterns
config - The Configuration. Some Converters require access to the Interpolator.
Returns:
An Rfc5424Layout.


Copyright © 1999-2015 Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.