考虑以下日志行:
2019-04-20 21:17:57,505341,+0000 [Web,279,10.0.0.100] c4da4857-63b1-11a9-a00a-b0521699037b TCP RX ...
2019-04-20 21:17:57,505341,+0000
我想在使用 rsyslog 写入此日志行之前删除开头的时间戳。
我利用模板中的属性替换器,使用正则表达式来匹配时间戳后的所有内容,如下所示:
template (name="mylog" type="string" string="%timereported% %syslogtag% %pri-text% %msg:R,ERE,1,BLANK:(\\[.*)--end%\n")
\\
注意括号前的双精度[
。
\
如果我在括号前只使用一个, rsyslog 会抛出一个错误,但使用两个括号就可以正常工作\\
我对正则表达式不是很熟悉,但我的理解是,像括号这样的特殊字符[
需要转义单数\
,以便它能够匹配日志行中的文字括号。为什么单数\
在 rsyslog 中不起作用,而双数却\\
起作用?
我在 Debian 上使用 rsyslog v8.40.0。
我错过了什么?