nxlog 的正则表达式
Posted
技术标签:
【中文标题】nxlog 的正则表达式【英文标题】:Regular expression for nxlog 【发布时间】:2020-03-04 04:09:37 【问题描述】:我有一组没有固定行号的日志。 我正在尝试通过 nxlog 将这些日志发送到 Elasticsearch。
------------------------------------------------------
Timestamp: 2020-03-03 00:05:04Z|User -DEFAULT|Cart -DEFAULT|Source -mscorlib|Message -StartIndex cannot be less than zero
------------------------------------------------------
------------------------------------------------------
Timestamp: 2020-03-03 03:05:53Z|User -Simulate Pricing | Initiate | |Cart -|Level -INFO|Severity -Information|Class -SalesOrderClient.vb|Function - Simulate(testVal As Object) Method :| Cart_ID: 8092662
Timestamp: 2020-03-03 00:00:30Z|User -|Cart -|Source -mscorlib|Message -Thread was being aborted.|StackTrace - at System.Threading.Thread.AbortInternal()
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.SendRequest(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
------------------------------------------------------
------------------------------------------------------
Timestamp: 2020-03-03 00:18:57Z|User -DEFAULT|Cart -DEFAULT|Source -mscorlib|Message -StartIndex cannot be less than zero.
------------------------------------------------------
这有一些带有多行(无固定行)的日志和一些带有单行的日志。 当我尝试使用 nxlog 获取这些数据时,我的第三个日志被分成 4 个不同的行,每个新行存在。
我怎样才能避免这个问题。我可以在这里使用什么正则表达式?我希望一个完整的日志在一行中,无论有多少行。这些行存在于日志中。
提前致谢。
【问题讨论】:
【参考方案1】:使用与您的时间戳匹配的 xm_multiline
模块的 HeaderLine
正则表达式。
请参阅https://nxlog.co/documentation/nxlog-user-guide/xm_multiline.html 中的示例
【讨论】:
谢谢,是的,我试过了,但我无法避免破折号(------------------------ --------------) 在我的台词中。无论如何要避免这种情况? 是的,您可以通过将其添加到您的xm_multiline
实例中来摆脱它:Exec if $raw_event =~ /^----/ drop();
它会丢弃整个消息,因为它是多行的,但是没关系。谢谢!
不,如果您在xm_multiline
下添加它,它只会删除带有破折号的行。用户指南中有一个类似的示例。如果您想摆脱破折号并保留该行,那么您也可以重写它。以上是关于nxlog 的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章