Type: global configuration directive

Default: on


This directive instructs rsyslogd to replace control characters during reception of the message. The intent is to provide a way to stop non-printable messages from entering the syslog system as whole. If this option is turned on, all control-characters are converted to a 3-digit octal number and be prefixed with the parser.controlCharacterEscapePrefix character (being '#' by default). For example, if the BEL character (ctrl-g) is included in the message, it would be converted to "#007". To be compatible to sysklogd, this option must be turned on.


  • turning on this option most probably destroys non-western character sets (like Japanese, Chinese and Korean)
  • turning on this option destroys digital signatures if such exists inside the message
  • if turned on, the drop-cc, space-cc and escape-cc property replacer options do not work as expected because control characters are already removed upon message reception. If you intend to use these property replacer options, you must turn off $EscapeControlCharactersOnReceive.


global ( parser.escapeControlCharactersOnReceive="on" )

Legacy sample:

$EscapeControlCharactersOnReceive on

[rsyslog.conf overview] [manual index] [rsyslog site]

This documentation is part of the rsyslog project.
Copyright © 2007 by Rainer Gerhards and Adiscon. Released under the GNU GPL version 2 or higher.