在 logback 中每次运行时都创建新的日志文件?
如何在每次应用程序运行时创建新的日志文件?
我想以任何方式保留以前的日志。例如,我更喜欢按时间和日期命名每个新日志文件的创建日期。否则,我同意将旧的日志文件备份到日期和时间文件名中。
很抱歉,我在这里看不到适当的策略和/或触发器:http://logback.qos.ch/manual/appenders.html
更新
我大约按照“副本”所说
<appender name="ROUTINEAPPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/routine.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/routine%d{yyyyMMdd}%d{HHmmss,aux}.log</fileNamePattern>
<TimeBasedFileNamingAndTriggeringPolicy class="com.inthemoon.toolkit.StartupTimeBasedTriggeringPolicy" />
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} - %C{0} - %msg%n</pattern>
</encoder>
</appender>
但我的班级从不被叫到。我在方法中放置了断点,但它从未出现过。com.inthemoon.toolkit.StartupTimeBasedTriggeringPolicy
start()
此外,不会发生滚动。日志文件已创建,但它始终具有名称 。routine.log
我也不明白,参数和应该如何共存。file
filenamePattern
更新 2
我有固定的类引用,但仍然没有我需要的东西。在给定的解决方案中,日期时间插入到旧日志文件名中。例如,如果我在2013年运行程序,它创建了.然后我等了一年,在2014年运行程序。新的日志文件将被创建并具有名称,而旧的2013日志将被放入,这是绝对无关紧要的。UPDATE 1
routine.log
routine.log
routine2014XXXXXXXXXX.log
每次程序启动时,我都需要创建新文件,并使用此文件标记日期时间戳。