没有附加日期的TimeBasedRollingPolicy

时间:2013-08-27 14:13:05

标签: logback

我想使用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"
}
}

但是,空日期字符串只会导致它使用默认值,因此最终结果如下:

log.20130805.2013-08-05.gz

我真的希望它最终像:

log.20130805.gz

1 个答案:

答案 0 :(得分:0)

在Curly braces中。添加%d {yyyy-MM-dd}等格式。

您也可以这样做: $ {文件名}。%d {YYYY-MM-DD}。%i.log.gz

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