log4j2 DailyRollingFileAppende在实际日志中基于roll的pid上单独的日志文件

时间:2017-08-29 13:11:51

标签: java logging log4j log4j2

我已经实现了一个插件,可以添加有关pid的日志信息。

appender.DRFA.layout.pattern =%d {ISO8601}%5p [%pid] [%t]%c {2}:%m%n

此外,还有另一个FilePattern转换插件,可在滚动时将pid添加到文件

appender.DRFA.filePattern = $ {sys:some.log.dir} / $ {sys:some.log.file}。%d {yyyy-MM-dd}。%pid

试着了解如何制作下一个:

在一天结束时,获取具有特定pid的日志文件中的所有行,并使用由pattern appender.DRFA.filePattern = $ {sys:some.log.dir} / $ {定义的相同pid将它们滚动到文件SYS:。some.log.file}%d {YYYY-MM-DD}%PID

1 个答案:

答案 0 :(得分:0)

Log4j2翻转无法将多个日志文件合并为一个zip文件。翻转可以重命名和/或压缩单个日志文件。您可以做的是将具有相同pid信息的所有日志文件移动到同一目录中:

appender.DRFA.filePattern = ${sys:some.log.dir}.%pid/${sys:some.log.file}.%d{yyyy-MM-dd}

如果您需要将多个文件压缩在一起,或将这些文件一起附加到单个文本文件中,则内置翻转当前无法执行此操作。

看看翻转时可以触发的custom delete action。 您可以将其扩展到您的想法中。如果您需要Log4j2为自定义翻转操作进行API更改,请提出JIRA票证。