0

我们使用自定义布局 (com.mycompany.log4j.XPatternLayout) 自定义了 appender (com.mycompany.log4j.XAppender)。当 ChainSaw 打开日志文件时,它一直在抱怨:found non-matching line:。如何解决?

4

1 回答 1

1

您提到 Chainsaw 正在打开日志文件,但不清楚如何打开。

您可以使用 Chainsaw 中的文件打开菜单打开 xmllayout 格式的日志文件。

您可以通过将 Chainsaw 配置为使用 LogFilePatternReceiver 来在链锯中加载常规文本日志文件,该日志文件可以解析和跟踪日志文件(LogFilePatternReceiver 允许您在日志文件中定义模式,然后解析和跟踪日志文件)。

示例接收器配置可从 Chainsaw 的 Welcome 选项卡获得,LogFilePatternReceiver javadoc 可从 Chainsaw 的帮助菜单获得。

如果您有自定义 xml 格式,您需要创建自己的 XmlDecoder 实现,将您的 xml 转换为日志事件(并配置 Chainsaw 以使用基于 xml 的接收器与您的解码器),或者您可以预处理您的 xml 文件并输出一个符合log4j的dtd的文件。

上面的 'found non-matching line' 消息看起来像是一种基于 xmllayout 的格式。如果您在加载符合 log4j dtd 的日志文件时遇到问题,我建议您在 log4j-dev 邮件列表中发布一个带有问题的日志文件示例块。

于 2010-01-30T02:09:26.587 回答