我正在使用在logback.groovy
文件中配置的 logback 来管理我的应用程序的日志。我想要:
- 创建在应用程序启动时带有时间戳的日志文件,并在应用程序的整个生命周期内作为单个日志文件保留。(我们可能同时运行一个应用程序的多个实例,或者在一天中运行多个实例,它们可能会运行数天。)
- 保持干净的日志文件目录,以便删除超过给定时间段的日志。
实现第一个建议使用 a FileAppender
,如下所示 - 但是,这不会删除旧的日志文件:
appender("FILE", FileAppender) {
file = "path/to/log/dir/log_file_${date}.log"
}
实现第二个建议使用 aRollingFileAppender
和 a TimeBasedRollingPolicy
,如下所示 - 将日志文件保留 7 天。但是,这将使用单个文件来记录给定日期应用程序的所有实例,无论应用程序何时运行:
appender("FILE", RollingFileAppender) {
rollingPolicy(TimeBasedRollingPolicy) {
fileNamePattern = "path/to/log/dir/log_file_%d{yyyyMMdd}.log"
maxHistory = 7;
}
}
我怎样才能吃到我的蛋糕 - 即每次应用程序运行都获得单个日志文件的好处(带有启动时间戳),但具有RollingFileAppender
/的历史清理好处TimeBasedRollingPolicy
?