【问题标题】:How to view customized logs with Chainsaw?如何使用电锯查看自定义日志?
【发布时间】:2010-01-29 15:47:35
【问题描述】:
我们自定义了带有自定义布局 (com.mycompany.log4j.XPatternLayout) 的附加程序 (com.mycompany.log4j.XAppender)。当 ChainSaw 打开日志文件时,它一直在抱怨:found non-matching line:。如何解决?
【问题讨论】:
标签:
java
log4j
apache-chainsaw
【解决方案1】:
您提到 Chainsaw 正在打开日志文件,但不清楚如何打开。
您可以使用 Chainsaw 中的文件打开菜单打开 xmllayout 格式的日志文件。
您可以通过将 Chainsaw 配置为使用 LogFilePatternReceiver 来在链锯中加载常规文本日志文件,该日志文件可以解析和跟踪日志文件(LogFilePatternReceiver 允许您在日志文件中定义模式,然后解析并跟踪日志文件)。
可以从 Chainsaw 的“欢迎”选项卡中获得示例接收器配置,并且可以从 Chainsaw 的帮助菜单中获得 LogFilePatternReceiver javadoc。
如果您有自定义 xml 格式,您需要创建自己的 XmlDecoder 实现,将您的 xml 转换为日志事件(并配置 Chainsaw 以使用基于 xml 的接收器与您的解码器),或者您可以预处理你的 xml 文件并输出一个符合 log4j 的 dtd 的文件。
上面的“找到不匹配的行”消息看起来像是一种基于 xmllayout 的格式。如果您在加载符合 log4j dtd 的日志文件时遇到问题,我建议您在 log4j-dev 邮件列表中发布一个带有问题的日志文件示例块。