1

我想使用 TimeBasedRollingPolicy;但是,由于遗留原因(c 到 java 端口),日志文件名已经附加了一个日期,例如:“log.20130813”。其他下游进程取决于文件名上已经存在的日期。当它滚动时,我希望它被压缩但没有附加日期。这可能吗?

我试过这个:

def date = timestamp("yyyyMMdd")
def logFileName = "log.${date}"

appender("LOG", RollingFileAppender) {
    file = logFileName
    append = true
    rollingPolicy(TimeBasedRollingPolicy) {      
    fileNamePattern = "${logFileName}.%d{}.gz"
}
encoder(PatternLayoutEncoder) {
    pattern = "%msg%n"
}
}

但是,空日期字符串只会导致它使用其默认值,因此它最终会像这样:

日志.20130805.2013-08-05.gz

我真的希望它最终像:

日志.20130805.gz

4

1 回答 1

0

在花括号中。添加 %d{yyyy-MM-dd} 之类的格式。

你也可以这样做: ${filename}.%d{yyyy-MM-dd}.%i.log.gz

然后输出将是:filename.2013-03-15.0.log.gz

于 2013-08-30T12:36:01.917 回答