我有几个日志文件 [通过 log4j 生成]。我知道我们可以使用Chainsaw来读取这些日志 [尽管我们也可以在记事本中读取这些日志]。
但我无法弄清楚如何打开存储的日志文件以查看其内容。所以简单的问题是,Is it possible to read the log file using Chainsaw?
4 回答
我在 Windows 上使用Chainsaw v2 日志查看器。
在文件菜单中有一个选项“加载 Log4j 文件”,它允许您打开 Log4j XML 日志文件。
当然,您尝试打开的文件必须符合 log4j XML 模式。
是的 - 只要每个日志条目都以“消息”结尾并以换行符分隔,您应该能够使用 LogFilePatternReceiver 解析日志文件。
示例日志行:
20100128 11:35:34.546 [main] INFO - package1.package2.SomeLoggerName - Message here line1 message here line2
这两行代表一个日志条目,可以使用以下 logFormat 解析:
时间戳 [线程] 级别 - 记录器 - 消息
有关更多信息(可从 Chainsaw 的帮助菜单中获得)和示例接收器配置(可从欢迎选项卡中的“查看示例接收器配置”按钮获得),请参阅 LogFilePatternReceiver JavaDoc。
是的,Chainsaw 可以读取常规文本日志文件 - 使用 LogFilePatternReceiver。请参阅 Welcome 选项卡中提供的示例配置。
您的日志文件包含 'priority' 和 'category' 属性,而不是 Chainsaw 中默认支持的 'level'、'logger'。
您可以更改布局以生成级别和类别属性吗?如果是这样,Chainsaw 应该能够处理您的日志文件。
如果您需要使用类别和优先级属性名称,我建议拉下 log4j 的 XmlDecoder 源并对其进行修改以接受优先级和类别属性名称。然后,您可以将 Chainsaw 配置为使用 LogFileXMLReceiver 并指定您自己的 Decoder 实现。
Chainsaw 的 Welcome 选项卡提供了一个示例接收器配置。
这是 XMLDecoder 的来源: https ://github.com/apache/logging-chainsaw/blob/chainsaw-2.0.0-rc1/src/main/java/org/apache/log4j/xml/XMLDecoder.java
应该可以从 Chainsaw 的帮助菜单中获得 LogFileXMLReceiver 的 JavaDoc。