Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java log4j DailRollingFileAppender未添加页脚_Java_Json_Logging_Log4j_Slf4j - Fatal编程技术网

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()时将页脚添加到日志中,如下所述()。您可能需要手动关闭追加器才能添加页脚