nxlog 的正则表达式

Regular expression for nxlog

我有一组没有固定行号的日志。 我正在尝试通过 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 个不同的行,每个新行都存在。

我怎样才能避免这个问题。我可以在这里使用什么正则表达式?我希望一个完整的日志在一行中,而不管有多少行。这些行出现在日志中。

提前致谢。

HeaderLine 使用与您的时间戳相匹配的 xm_multiline 模块的正则表达式。
请参阅 https://nxlog.co/documentation/nxlog-user-guide/xm_multiline.html

中的示例