logback版本:1.1.11
这个是我实验验证的,昨天我配置了一个logback,然后用两个线程不断往里写log,结果发现到了今天2020-01-16日,log文件还是昨天的logbackCfg.log.2020-01-15.log,还在不断往里写。
追加内容 落霞与孤鹜齐飞 秋水共长天一色 滕王阁序 唐.王勃 2020-01-15 23:59:53.769 [main] INFO logbackCfg.App -秦时明月汉时关 2020-01-15 23:59:53.769 [main] ERROR logbackCfg.App -万里长征人未还 2020-01-15 23:59:53.769 [main] DEBUG logbackCfg.App -但使龙城飞将在 2020-01-15 23:59:53.769 [main] TRACE logbackCfg.App -不教胡马度阴山 2020-01-15 23:59:56.969 [main] INFO logbackCfg.App2 -九里山前作战场 2020-01-15 23:59:56.969 [main] ERROR logbackCfg.App2 -牧童拾得旧刀枪 2020-01-15 23:59:56.969 [main] DEBUG logbackCfg.App2 -微风吹皱乌江水 2020-01-15 23:59:56.969 [main] TRACE logbackCfg.App2 -恰似虞姬别霸王 追加内容 落霞与孤鹜齐飞 秋水共长天一色 滕王阁序 唐.王勃 2020-01-15 23:59:58.769 [main] INFO logbackCfg.App -秦时明月汉时关 2020-01-15 23:59:58.769 [main] ERROR logbackCfg.App -万里长征人未还 2020-01-15 23:59:58.769 [main] DEBUG logbackCfg.App -但使龙城飞将在 2020-01-15 23:59:58.769 [main] TRACE logbackCfg.App -不教胡马度阴山 追加内容 落霞与孤鹜齐飞 秋水共长天一色 滕王阁序 唐.王勃 2020-01-16 00:00:03.770 [main] INFO logbackCfg.App -秦时明月汉时关 2020-01-16 00:00:03.770 [main] ERROR logbackCfg.App -万里长征人未还 2020-01-16 00:00:03.770 [main] DEBUG logbackCfg.App -但使龙城飞将在 2020-01-16 00:00:03.770 [main] TRACE logbackCfg.App -不教胡马度阴山 2020-01-16 00:00:04.975 [main] INFO logbackCfg.App2 -九里山前作战场 2020-01-16 00:00:04.975 [main] ERROR logbackCfg.App2 -牧童拾得旧刀枪 2020-01-16 00:00:04.975 [main] DEBUG logbackCfg.App2 -微风吹皱乌江水 2020-01-16 00:00:04.975 [main] TRACE logbackCfg.App2 -恰似虞姬别霸王 追加内容 落霞与孤鹜齐飞 秋水共长天一色 滕王阁序 唐.王勃 2020-01-16 00:00:08.772 [main] INFO logbackCfg.App -秦时明月汉时关 2020-01-16 00:00:08.772 [main] ERROR logbackCfg.App -万里长征人未还 2020-01-16 00:00:08.772 [main] DEBUG logbackCfg.App -但使龙城飞将在 2020-01-16 00:00:08.772 [main] TRACE logbackCfg.App -不教胡马度阴山 追加内容 落霞与孤鹜齐飞 秋水共长天一色 滕王阁序 唐.王勃 2020-01-16 00:00:12.975 [main] INFO logbackCfg.App2 -九里山前作战场 2020-01-16 00:00:12.975 [main] ERROR logbackCfg.App2 -牧童拾得旧刀枪 2020-01-16 00:00:12.975 [main] DEBUG logbackCfg.App2 -微风吹皱乌江水 2020-01-16 00:00:12.975 [main] TRACE logbackCfg.App2 -恰似虞姬别霸王 2020-01-16 00:00:13.777 [main] INFO logbackCfg.App -秦时明月汉时关 2020-01-16 00:00:13.777 [main] ERROR logbackCfg.App -万里长征人未还 2020-01-16 00:00:13.777 [main] DEBUG logbackCfg.App -但使龙城飞将在 2020-01-16 00:00:13.777 [main] TRACE logbackCfg.App -不教胡马度阴山 追加内容 落霞与孤鹜齐飞 秋水共长天一色
从上面可以看出,过了零点还在往一个文件里写。
把线程停止再启动,log文件才换到2020-01-16,如下图:
结论就是:写log的线程不停,文件不会按日子更换。
下面是我用的logback.xml配置中写文件部分的节选:
<!-- Output to File --> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--log file pathname --> <FileNamePattern>${LOG_HOME}/logbackCfg.log.%d{yyyy-MM-dd}.log </FileNamePattern> <!--days log files will be kept --> <MaxHistory>30</MaxHistory> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--%d:date,%thread:thread,%-5level:error/debug/info... %msg:message,%n:new line --> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} -%msg%n</pattern> </encoder> <!--size --> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <MaxFileSize>10MB</MaxFileSize> </triggeringPolicy> </appender>
上面的红字部分就是文件名按日期更换的模式。
本实验用的程序下载:
https://files.cnblogs.com/files/xiandedanteng/logbackCfg202001016-1.zip