rsyslogd和字符#012和#015

问题描述 投票:12回答:1

我使用rsyslogd 5.8版。字符\ n和\ r \ n在日志文件中转储为#012和#015。

示例(输入命令:printf“example-test [\ r \ n]”| logger):

<13> 2014-07-07T11:01:03.254 root:  example-test[#015]

我宁愿用十六进制转储它们:#0A和#0D(或其他更易读的格式)。

我怎么能通过修改rsyslogd配置文件来做到这一点?

rsyslog
1个回答
9
投票

阅读rsyslogd版本5.8.3和7.6.0的源代码后,看起来:

  • 由于八进制基(#012,#015)是硬编码的,因此不能使用十六进制基数。
  • 可以打开或关闭转义:参数$ EscapeControlCharactersOnReceive和$ Escape8BitCharactersOnReceive

文件证实:

https://www.rsyslog.com/doc/v7-stable/configuration/input_directives/rsconf1_escapecontrolcharactersonreceive.html

https://www.rsyslog.com/doc/v7-stable/configuration/input_directives/rsconf1_escape8bitcharsonreceive.html

© www.soinside.com 2019 - 2024. All rights reserved.