Java log4j DailRollingFileAppender未添加页脚
我的目标是使用Java log4j DailRollingFileAppender未添加页脚,java,json,logging,log4j,slf4j,Java,Json,Logging,Log4j,Slf4j,我的目标是使用log4j将(json格式的)消息滚动到日志文件中,并使生成的日志文件成为json有效的结构。我目前在log4j.properties中拥有的是: log4j.rootLogger=INFO, FILE log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender log4j.appender.FILE.Append=true log4j.appender.FILE.File=out.log log4j.appender
log4j
将(json格式的)消息滚动到日志文件中,并使生成的日志文件成为json有效的结构。我目前在log4j.properties
中拥有的是:
log4j.rootLogger=INFO, FILE
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.Append=true
log4j.appender.FILE.File=out.log
log4j.appender.FILE.DatePattern='.'yyyy-MM-dd-HH-mm
log4j.appender.FILE.layout=com.foobar.CustomLayout
log4j.appender.FILE.layout.ConversionPattern=%m,%n
其中CustomLayout
看起来像:
class CustomLayout extends PatternLayout {
@Override
String getHeader() {
return "[\n"
}
@Override
String getFooter() {
return "{}\n]"
}
}
但是,在执行结束时,我的所有文件都不是json有效文件,因为它们没有结束括号,即:
[
{},
{},
关于如何解决此问题并使每个滚动文件都包含我在
CustomLayout
中定义的页眉和页脚的任何想法?Log4J在附录程序上调用close()时将页脚添加到日志中,如下所述()。您可能需要手动关闭appender才能添加页脚Log4J在对appender调用close()时将页脚添加到日志中,如下所述()。您可能需要手动关闭追加器才能添加页脚