是否可以使用Chainsaw读取日志文件?

时间:2009-12-02 12:36:34

标签: logging log4j apache-chainsaw

我有几个日志文件[通过log4j生成]。我知道我们可以使用Chainsaw来读取这些日志[虽然我们也可以在记事本中读取这些日志]。
但我无法弄清楚如何打开存储的日志文件来查看其内容。所以简单的问题是Is it possible to read the log file using Chainsaw?

4 个答案:

答案 0 :(得分:2)

我在Windows上使用Chainsaw v2 Log Viewer

在文件菜单中有一个选项'Load Log4j file',它允许您打开Log4j XML日志文件。

当然,您尝试打开的文件必须确认log4j XML架构。

答案 1 :(得分:2)

是 - 只要每个日志条目以“消息”结尾并且以换行符分隔,您就应该能够使用LogFilePatternReceiver解析日志文件。

示例日志行:

20100128 11:35:34.546 [main] INFO - package1.package2.SomeLoggerName - 此处的消息为line1 消息在这里第2行

这两行代表一个日志条目,可以使用此logFormat进行解析:

TIMESTAMP [THREAD] LEVEL - LOGGER - MESSAGE

有关详细信息,请参阅LogFilePatternReceiver JavaDoc(可从Chainsaw的帮助菜单中获得)和示例接收器配置(可从“欢迎”选项卡中获取,“查看示例接收器配置”按钮)。

答案 2 :(得分:1)

是的,Chainsaw可以读取常规文本日志文件 - 使用LogFilePatternReceiver。请参阅“欢迎”选项卡中提供的示例配置。

答案 3 :(得分:1)

您的日志文件包含'priority'和'category'属性,而不是'level','logger',默认情况下Chainsaw支持这些属性。

您可以更改布局以生成级别&类别属性?如果是这样,Chainsaw应该能够处理您的日志文件。

如果您需要使用类别&优先级属性名称,我建议下拉log4j的XmlDecoder源并修改它以接受优先级&类别属性名称。然后,您可以将Chainsaw配置为使用LogFileXMLReceiver并指定您自己的Decoder实现。

Chainsaw的Welcome选项卡提供了一个示例接收器配置。

这是XMLDecoder的源代码: http://svn.apache.org/viewvc/logging/log4j/companions/receivers/trunk/src/main/java/org/apache/log4j/xml/XMLDecoder.java?view=log

LogFileXMLReceiver的JavaDoc应该可以从Chainsaw的帮助菜单中找到。