系统日志模板中的正则表达式

Regex in syslog template

我尝试在系统日志模板中使用正则表达式,但它仍然不起作用。我首先尝试匹配一切以查看它是否有效但它不起作用。我用一个在线工具测试了我的表达,它在那里工作。在我看来,日志消息应该是空的,因为表达式总是匹配或?但是日志文件中总是有零。

template(name="testLogFormat" type="list")
   property(name="syslogtag"
            regex.type="ERE"
            regex.submatch="0"
            regex.expression=".*--end"
            regex.nomatchmode="ZERO"
)

您的输入字符串类似于 abc[123]。因此,您可以使用

修复当前配置
regex.submatch="1"
regex.expression="\[([0-9]+)]"

参见regex demo

这里,

  • \[ - 匹配 [
  • ([0-9]+) - 捕获到第 1 组(您使用 regex.submatch="1" 访问该值)
  • ] - 结束语 ].