现象:当指定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 ...
随机推荐
- 16、Java中级进阶 面向对象 封装
1.封装概述 封装可以被认为是一个保护屏障,将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过类提供的方法来实现对隐藏信息的操作访问,可以有效的防止该类的代码和数据被其他类随意访问. 要访问 ...
- JS 与 jQery 的区别主要在于 DOM
//目前正在学习前端阶段,把知识点整理.保存下来以便日后查看 首先引入jQery: 需要先引入css,再引入js: jQery需要在js前引入,再引入框架,最后才是js的引入:css也相同,先引入框架 ...
- C#LeetCode刷题之#443-压缩字符串(String Compression)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3943 访问. 给定一组字符,使用原地算法将其压缩. 压缩后的长度 ...
- Quartz.Net的基础使用方法,多任务执行
接着上面单任务执行的代码做一下简单的扩展 主要看下面这段代码,这是Quartz多任务调度的方法,主要就是围绕这个方法去扩展: // // 摘要: // Schedule all of the give ...
- Probabilistic PCA、Kernel PCA以及t-SNE
Probabilistic PCA 在之前的文章PCA与LDA介绍中介绍了PCA的基本原理,这一部分主要在此基础上进行扩展,在PCA中引入概率的元素,具体思路是对每个数据$\vec{x}_i$,假设$ ...
- Oracle从回收站找回误删的数据
Step1 先根据删除时间查看删除了那些表 select * from recyclebin where type = 'TABLE' and createtime like '${删除时间}%' o ...
- 使用部分函数时并未include其所在头文件,但是能编译成功且能运行,为什么?
最近在看APUE,试了上面的一些例子,其中有个例子是使用getpid函数获取进程id,但是在我写demo时,并未引入其所在的头文件unistd.h,结果也能编译成功,也能运行,于是就琢磨下为啥. En ...
- Spring事务专题(五)聊聊Spring事务到底是如何实现的
前言 本专题大纲: 本文为本专题倒数第二篇文章. 在上篇文章中我们一起学习了Spring中的事务抽象机制以及动手模拟了一下Spring中的事务管理机制,那么本文我们就通过源码来分析一下Spring中的 ...
- asp.net core 应用docke部署到centos7
前言 前期准备 win10 (不要安装hyper-V) VMware-Workstation-Pro/15.0 Xshell6 (非必需) VS2019 以上环境请自行安装 都是默认安装没什么可说的 ...
- python基础 Day6
python Day6 id 可以获得python的内存地址 id的举例子 a=100 print(id(a)) #140712544153072 这里就是该对象的内存地址 is 判断的是比较内存地址 ...