0

我正在使用来自http://people.apache.org/~sdeboy/
的电锯 2.1.0 快照 我能够将其设置为解析日志文件,但它总是将多行消息拆分为多个单行消息(包括所有其他字段都放入第一条消息中)
如何使其正确解析多行消息?有什么解决方法或替代方法吗?

编辑:文件中的几行:

[<proceed>(2)] INFO 2013-01-16 05:04:23,728 xmlstream.py:start_tls:740 ::: Negotiating TLS :::
[<proceed>(2)] INFO 2013-01-16 05:04:23,729 xmlstream.py:start_tls:741 ::: Using SSL version: 3 :::
[<proceed>(2)] DEBUG 2013-01-16 05:04:23,838 xmlstream.py:start_tls:809 ::: CERT: -----BEGIN CERTIFICATE-----
MIIDaDCCAtGgAwIBAgIKMfrHUQAAAABbMDANBgkqhkiG9w0BAQUFADBGMQswCQYD
VQQGEwJVUzETMBEGA1UEChMKR29vZ2xlIEluYzEiMCAGA1UEAxMZR29vZ2xlIElu
dGVybmV0IEF1dGhvcml0eTAeFw0xMjA2MDUwMDUyMTRaFw0xMzA2MDUwMTAyMTRa
MGMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1N
...
Zfhf9Lio+EplEmBc
-----END CERTIFICATE-----
 :::

并且日志格式是"[NDC] LEVEL TIMESTAMP FILE:METHOD:LINE ::: MESSAGE :::"
(我试图在消息之前和之后放置唯一的分隔符以帮助解析)

4

1 回答 1

1

尝试在接收器配置中将“appendNonMatches”设置为 false。

如果这不起作用,请提供几行日志文件(单行和多行的混合),我可以告诉您配置方面需要做什么。

这也可能是一个错误,将不得不看到。

回复后的几点说明:

  • 如果您使用单个日志框架/布局(不是随机嵌入 printf 样式的输出),AppendNonMatches=false 可能没问题..但是..错过的匹配项在此设置为 false 时会掉到地板上,所以要小心..
  • 我从来没有费心测试消息的结束分隔符 - 由于消息字段中的内容可能存在差异,因此非常需要消息是日志消息中的最后一个字段。
  • 如果您有多行以: (tab)at 开头 - 这些字段应转换为可抛出字段。
于 2013-01-17T02:37:36.337 回答