java - log4j DailyRollingFileAppender 不添加页脚

标签 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.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 中定义的页眉页脚,有什么想法吗?

最佳答案

关于java - log4j DailyRollingFileAppender 不添加页脚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37935433/

相关文章:

java - Hbase Java API连接错误

java - 带有 JSON 和 XML 的 Spring REST

java - 如何记录spring boot jar文件异常

java - Cloudant Java SDK v1.0.1 - 批量删除?

java - Pattern 避免重复处理 Block

javascript - json.parse 意外的 token 错误

json - 用于解析 JSON 并返回字典数组的 Swift 函数

java - 有关 ServiceEvent 和 BundleEvent 的 Felix 日志级别

logging - 从方法签名生成日志语句

Java - 为什么 protected 对这个函数不起作用