现象:当指定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 ...
随机推荐
- Linux文本处理详细教程
1. 文本处理 本节将介绍Linux下使用Shell处理文本时最常用的工具: find.grep.xargs.sort.uniq.tr.cut.paste.wc.sed.awk: 提供的例子和参数都是 ...
- 密码学系列——消息摘要(c#代码实操)
前言 简介: 消息摘要(Message Digest)又称为数字摘要(Digital Digest) 它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash加密函数对消息进行作用而产生 使 ...
- 高级搜索树-伸展树(Splay Tree)
目录 局部性 双层伸展 查找操作 插入操作 删除操作 性能分析 完整源码 与AVL树一样,伸展树(Splay Tree)也是平衡二叉搜索树的一致,伸展树无需时刻都严格保持整棵树的平衡,也不需要对基本的 ...
- notepad++ 设置支持golang语法高亮
see https://stackoverflow.com/questions/27747457/golang-plugin-on-notepad
- 使用 VMware Workstation Pro 让 PC 提供云桌面服务——学习笔记(二)
实验效果: 这次希望的效果是能够用远程桌面来实现 . 这里参考了博客 https://www.cnblogs.com/wwang/archive/2011/01/06/1928933.html 操作步 ...
- Ansible常用模块-yum模块
yum模块 name 必选 指定安装包名 state 执行命令 present installed removed latest absent 其中installed and present等效 ...
- 跳转语句—break,continue,goto
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h&g ...
- 基于OpenSIPS 实现分机注册服务服务器
呼叫中心平台中坐席是不可或缺的一环,而坐席打电话自然需要使用办公分机.通常情况下我们通过软交换平台FreeSWITCH.Asterisk即可搭建分机注册服务. 但单台FreeSWITCH或Asteri ...
- 封装Vue Element的table表格组件
上周分享了几篇关于React组件封装方面的博文,这周就来分享几篇关于Vue组件封装方面的博文,也好让大家能更好地了解React和Vue在组件封装方面的区别. 在封装Vue组件时,我依旧会交叉使用函数式 ...
- Vue3 + Element ui 后台管理系统
Vue3 + Element ui 后台管理系统 概述:这是一个用vue3.0和element搭建的后台管理系统界面. 项目git地址: https://github.com/whiskyma/vu ...