1

我想通过一组日志文件进行分析(查找错误并创建报告)

这些日志文件具有自定义 logback 模式中的记录

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <layout class="ch.qos.logback.classic.PatternLayout">
        <Pattern>%d{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX", UTC} [%thread] %-5level %logger{36} - %msg%n</Pattern>
    </layout>
</appender>

和示例日志条目

2018-02-05 07:59:49,140 22425254620 [http-11.11.11.11:8000-7] ERROR com.sample - Error in processing

我正在使用 windows 机器.. 我查看了 logalyze 和 apache-chainsaw 但无法正确解析日志文件(错误记录未正确显示)我在使用上述内容时做错了什么吗?

是否有任何方法/开源工具可以查看整个日志文件集并获取错误记录,而不是进行手动检查?

4

1 回答 1

0

您的配置文件中的模式似乎与示例日志条目不匹配:日期格式

yyyy-MM-dd'T'HH:mm:ss,SSSXXX

应该产生类似的输出

2018-02-10T14:37:48,187Z

请注意与您在此处粘贴的示例日志条目的区别:时间和日期之间的“T”字符,以及结尾的“,187Z”表示 187 毫秒Z ulu 时间(XXX表示时区,我刚刚使用 Logback 1.2.3 测试了这种模式)。但是您说您的示例日志条目看起来更像

2018-02-05 07:59:49,140 22425254620

因此,也许您在此页面上粘贴了您用于 STDOUT 的模式,但您正在为您的日志文件使用另一个模式?

无论如何,要分析您的日志文件,我建议使用LogMX。使用免费版,进入“File”>“Configure Log Parsers...”,点击右侧的“+”绿色按钮创建 Parser,然后点击选项卡“Log4j/Logback pattern”选项卡,然后粘贴其中一种模式:(不确定您现在正在使用的模式 - 确保从我的答案中复制/粘贴,空格很重要)

  • 对于类似的日志2018-02-05T07:59:49,140Z [http-11.11.11.11:8000-7],请使用:

%d{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX",UTC} [%thread] %-5level %logger{36} - %msg%n

  • 对于类似的日志2018-02-05 07:59:49,140 22425254620 [http-11.11.11.11:8000-7],请使用:

%d{"yyyy-MM-dd HH:mm:ss,SSS"} %mx{?} [%thread] %-5level %logger{36} - %msg%n

您说您有多个日志文件:LogMX 可以打开多个日志文件并在单个合并视图中显示它们的内容:

  • 如果所有文件都在同一个目录中(本地或远程),只需转到“文件”>“打开日志...”,然后检查底部的“合并”选项卡

  • 如果所有文件不在同一个目录中,请转到“文件”>“在合并视图中打开多个日志”,然后单击要包含的每个文件右侧的“+”绿色按钮

  • 如果所有文件都已加载到 LogMX,您可以使用“工具”>“合并日志...”

为了只显示这些文件中的错误,一旦加载,只需使用 LogMX 窗口左下角的滑块选择错误(红色端)

于 2018-02-10T15:00:58.410 回答