我有许多日志文件,并且有一些log4j配置(文件追加程序的不同ConversionPattern格式)。

我想编写一个脚本/测试,该脚本/测试能够通过用于写入文件的ConversionPattern对日志文件进行分组。我缺少的是如何实现类似的东西:

boolean logToPatternMatcher.matches(String conversionPattern, String logFileEntry)

Log4j API是否可以?

对于给定的值,上述方法应返回true:

String conversionPattern = "%d{ISO8601} %-5p [%-16.16t][%c] %m%n"

String logFileEntry = "2015-02-12 00:02:38,023 WARN [pool-58-thread-1][some.package.name.ConvertingPublisher] Document [type: app.MessageProcessed, id: 1063_1_20150128072222800] DUPLICATED."

最佳答案

GROK非常适合您的用例。我最近一直在使用logstash,但可以在github上尝试使用java-grok项目。我发现此链接来自
another stackoverflow answer

GROK本质上是一个正则表达式引擎。它有一堆预定义的正则表达式,可以匹配最常见的日志记录条目,例如时间戳,日志记录级别等。如果这对您不起作用,您是否考虑过使用直接的正则表达式?

关于java - 如何检查日志条目是否使用给定的ConversionPattern编写?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28482881/

10-13 03:01