web-dev-qa-db-ja.com

rsyslogdと文字#012および#015

Rsyslogdバージョン5.8を使用しています。文字\ nおよび\ rは、ログファイルに#012および#015としてダンプされます。

例(コマンドを入力して:printf "example-test [\ r]" | logger):

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

むしろ、それらを16進数でダンプしたいと思います:#0Aと#0D(または他のより人間が読める形式)。

Rsyslogd構成ファイルを変更してこれを行うにはどうすればよいですか?

13
user803422

Rsyslogdバージョン5.8.3および7.6.0のソースコードを読んだ後、次のように表示されます。

  • 8進数の基数(#012、#015)はハードコーディングされているため、16進数の基数は使用できません。
  • エスケープはオンまたはオフにできます:パラメーター$ 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

11
user803422