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]
Я хотел бы сбросить их в шестнадцатеричном формате: # 0A и # 0D (или другой более удобный для чтения формат).
Как я могу это сделать, изменив файл конфигурации rsyslogd?
Ответы
Ответ 1
После прочтения исходного кода версий 5.8.3 и 7.6.0 rsyslogd выясняется, что:
- шестнадцатеричное основание не может быть использовано, поскольку восьмеричное основание (# 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