The Property Replacer

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.

Accessing Properties

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:

%propname:fromChar:toChar:options%

Available Properties

propname is the name of the property to access. It is case-sensitive. Currently supported are:

msgthe MSG part of the message (aka "the message" ;))
rawmsgthe message excactly as it was received from the socket. Should be useful for debugging.
UxTradMsgwill disappear soon - do NOT use!
HOSTNAMEhostname from the message
sourcealias for HOSTNAME
syslogtagTAG from the message
PRIPRI part of the message - undecoded (single value)
IUTthe monitorware InfoUnitType - used when talking to a MonitorWare backend (also for phpLogCon)
syslogfacilitythe facility from the message - in numerical form
syslogprioritythe priority (actully severity!) from the message - in numerical form
timegeneratedtimestamp when the message was RECEIVED. Always in high resolution
timereportedtimestamp from the message. Resolution depends on what was provided in the message (in most cases, only seconds)
TIMESTAMPalias for timereported

Character Positions

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 whish 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%".

Property Options

property options are case-insensitive. Currently, the following options are defined:

uppercaseconvert property to lowercase only
lowercaseconvert property text to uppercase only
drop-last-lfThe last LF in the message (if any), is dropped. Especially useful for PIX.
date-mysqlformat as mysql date
date-rfc3164format as RFC 3164 date
date-rfc3339format as RFC 3339 date
escape-ccNOT yet implemented