现象:当指定logback的FileNamePattern为日期2020-01-15后,如果有线程不断的往里写log,过了零点文件不会变成下一日2020-01-16,还是会在2020-01-15里继续写 结论:写log的线程不停,文件不会按日子更换。
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
现象:当指定logback的FileNamePattern为日期2020-01-15后,如果有线程不断的往里写log,过了零点文件不会变成下一日2020-01-16,还是会在2020-01-15里继续写 结论:写log的线程不停,文件不会按日子更换。的更多相关文章
- PHP中查询指定时间范围内的所有日期,月份,季度,年份
/** * 查询指定时间范围内的所有日期,月份,季度,年份 * * @param $startDate 指定开始时间,Y-m-d格式 * @param $endDate 指定结束时间,Y-m-d格式 ...
- java -jar 指定logback.xml、application.yaml
java -jar 指定logback.xml -Dlogging.config="C:\logbacs\logback.xml" 示例:java -jar -Dlogging ...
- Java产生指定范围内的随机日期
要想产生指定范围内的随机日期,首先我们要指定一个范围,那么我们可以通过SImpleDateFormat格式化日期,然后再通过parse()方法设置日期,返回一个Date类型的日期对象,再转化为时间戳( ...
- Math.abs(~2020) 按位取反后的绝对值是多少 2021, 按位取反后,比正数多1
Math.abs(~2020) 按位取反后的绝对值是多少 2021, 按位取反后,比正数多1 int 值的取值 范围: -128 --- 127 之间, 0000 0000 按位取 ...
- 问题-关于SizeOf在Delphi7和Delphi2009下结果分别是16/32
问题:同样的代码在Delphi7和Delphi2009下结果分别是16/32,为什么?var LWindCode : array [0..15] of char; begin showmess ...
- SNF快速开发平台MVC-审核流,审核完成后会给下一个审核人发邮件,下一个审核人可以不登录系统,在邮件里进行审核处理
审核流设计和使用参考以下资料: 审核流设计 http://www.cnblogs.com/spring_wang/p/4874531.html 审核流实例 http://www.cnblogs.com ...
- 基于Ubuntu Server 16.04 LTS版本安装和部署Django之(三):设置上传文件夹权限(这里测试用完全共享)
基于Ubuntu Server 16.04 LTS版本安装和部署Django之(一):安装Python3-pip和Django 基于Ubuntu Server 16.04 LTS版本安装和部署Djan ...
- 更新mac系统到10.15后,virtual box虚拟机无法打开
更新mac系统到10.15后,virtual box虚拟机无法打开: 尝试解决方案1:下载最新版的virtual box重新安装后,启动成功. 虽然很乌龙,但是下次再也不随便升级系统了,太坑爹了
- 在logback的fileNamePattern配置%i 带来的异常
我在logback的配置文件中企图这样配置: <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPol ...
随机推荐
- GitLab 查看版本号
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
- 安装mpi的那些坑
安装mpi可以用 yum 安装 具体从操作步骤可参考这个链接mpi的yum安装方式 mpi在linux下 使用root权限 会报错 修改方式有两种 1 2.换其他账户 mpi会自行评估我们cpu的 ...
- 对象原型之__proto__
对象都会有一个__proto__指向构造函数的prototype原型对象,对象之所以能够使用构造函数的prototype原型对象的方法,就是因为有__proto__原型的存在. funct ...
- vue 公众号H5 使用微信JSAPI 录音 完整齐全
官方文档必须首当其冲 1.微信jsAPI 录音文档 2.获取微信临时素材文档 首先H5录音功能的话 对于普通H5网上是有很多的方法 插件 但是兼容性很差 特别是对于ios 一开始想的是用H5 做个通 ...
- Homekit_二路继电器
介绍一款二路继电器,使用Homekit进行控制,有兴趣的可以去以下链接看看: https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-11265006 ...
- Centos系统安装Python3.7
服务器安装Python3.7,实测可用 原博客地址 首先要先安装依赖包: yum install zlib-devel bzip2-devel openssl-devel ncurses-devel ...
- Linux学习笔记 一 第三章 Linux常用命令
第三章Linux常用命令 一.文件处理命令 1.命令格式 2.目录处理命令:ls 3.目录处理命令:mkdir 4.文件处理命令: touch
- 树莓派 4B VNC Viewer 显示 cannot currently show the desktop 的解决方法 (图文)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/ZChen1996/article/de ...
- 【期外】(二)还是N皇后动画演示
题目:n皇后题目 题解:n皇后题解 演示:
- Dubbo系列之 (四)服务订阅(1)
辅助链接 Dubbo系列之 (一)SPI扩展 Dubbo系列之 (二)Registry注册中心-注册(1) Dubbo系列之 (三)Registry注册中心-注册(2) Dubbo系列之 (四)服务订 ...