logback日志文件按日期和文件大小拆分失败问题

这是我的最开始配置的logback.xml

<!-- 文件输出日志, 滚动(时间/文件大小)输出策略 -->
    <appender name="DEBUGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 过滤器,只记录debug级别的日志 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>DEBUG</level>
            <OnMismatch>DENY</OnMismatch>
            <OnMatch>ACCEPT</OnMatch>
        </filter>
        <file>${log.path}/${logfile.prefix}-debug.%d{yyyy-MM-dd}.log</file>
        <!-- 日志记录器的滚动策略,按日期记录 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- 日志输出格式 -->
            <FileNamePattern>${log.path}/${logfile.prefix}-debug.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
            <maxFileSize>10MB</maxFileSize>
            <!-- 日志保留天数 -->
            <maxHistory>7</maxHistory>
        </rollingPolicy>
        <!-- 日志输出格式 -->
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>${log.pattern}</Pattern>
        </layout>
    </appender>

结果发现日志并不能拆分,控制台打印的错误如下图,百度很多说是需要修改源码,就放弃了。后来日志越积越多,查看日志的时候文件都打不开了。
在这里插入图片描述
决定再找一遍原因,突然在控制台发现了这个地址:
在这里插入图片描述
官网地址:http://logback.qos.ch/codes.html#renamingError
官网
用谷歌翻译了一下:
File rename operations during rollover can be avoided altogether by omitting the file property in RollingFileAppender.
通过省略RollingFileAppender中的file属性,可以完全避免滚动期间的文件重命名操作。

然后就尝试了去掉配置中的 file 标签

<!-- 文件输出日志, 滚动(时间/文件大小)输出策略 -->
    <appender name="DEBUGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 过滤器,只记录debug级别的日志 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>DEBUG</level>
            <OnMismatch>DENY</OnMismatch>
            <OnMatch>ACCEPT</OnMatch>
        </filter>
        <!-- <file>${log.path}/${logfile.prefix}-debug.%d{yyyy-MM-dd}.log</file> -->
        <!-- 日志记录器的滚动策略,按日期记录 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- 日志输出格式 -->
            <FileNamePattern>${log.path}/${logfile.prefix}-debug.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
            <maxFileSize>10MB</maxFileSize>
            <!-- 日志保留天数 -->
            <maxHistory>7</maxHistory>
        </rollingPolicy>
        <!-- 日志输出格式 -->
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>${log.pattern}</Pattern>
        </layout>
    </appender>

最后日志拆分成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值