logback的按时间分割,每天生成一个日志文件,每个文件最大100MB,每天会有多个文件,为了方便定位问题,要求日志文件名精确到毫秒,如何配置?

lisaem 2020-12-28 11:10:36
logback的按时间分割,每天生成一个日志文件,每个文件最大100MB,每天会有多个文件,为了方便定位问题,要求日志文件名精确到毫秒,如何配置?

<appender name="error-policy" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/error/errorLog-%d{yyyyMMdd}%d{HHmmssSSS,aux}-%i.log.gz</fileNamePattern>
<maxFileSize>100MB</maxFileSize>
<maxHistory>7</maxHistory>
<totalSizeCap>10GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>${LOG_PATTERN}</pattern>
<charset>${CHAR_SET}</charset>
</encoder>
</appender>
<appender class="ch.qos.logback.classic.AsyncAppender" name="error-async">
<discardingThreshold>0</discardingThreshold>
<queueSize>1024</queueSize>
<appender-ref ref="error-policy"/>
</appender>
<logger additivity="true" level="error" name="error-logger">
<appender-ref ref="error-async"/>
</logger>


如上配置,无法达到效果

%d{HHmmssSSS,aux}只在程序启动的时候计算一次,之后不变,直到第二天。

errorLog-20201228084732109-0.log.gz

errorLog-20201228084732109-1.log.gz

errorLog-20201228084732109-2.log.gz
...全文
332 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

51,407

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧