美文网首页
logback不按时间文件大小分割问题

logback不按时间文件大小分割问题

作者: 周六放风筝 | 来源:发表于2017-08-23 07:12 被阅读638次

正确配置

这里我使用的是springboot所以的 application.properties 文件增加 (没用springboot的忽略)

 logging.config=classpath:logback-spring.xml    // 指定日志配置文件

根目录增加 logback-spring.xml 配置文件

image.png

logback-spring.xml 配置文件
注:<rollingPolicy> 标签 的 ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy是重点
日志输出的文件名:${LOG_FILE}-%d{yyyy-MM-dd}.%i.log
(%d 和 %i 必须存在)

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">

<!--定义日志文件的存储地址 这里使用的application.properties中的路径 勿在 LogBack 的配置中使用相对路径-->
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}" />

<!-- 彩色日志 -->
<!-- 彩色日志依赖的渲染类 -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
<!-- Console 输出设置 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder charset="UTF-8">
        <!--  显示毫秒数-->
        <pattern>${CONSOLE_LOG_PATTERN}</pattern>
    </encoder>
</appender>
<!-- 按照每天生成日志文件 -->
<appender name="FILE"  class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
        <!--日志文件输出的文件名-->
        <FileNamePattern>${LOG_FILE}-%d{yyyy-MM-dd}.%i.log</FileNamePattern>
        <!--日志大小-->
        <maxFileSize>10MB</maxFileSize>
        <!--日志文件保留天数-->
        <maxHistory>15</maxHistory>
    </rollingPolicy>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
        <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
    </encoder>
</appender>
<!-- * 通配符 设置log打印级别 对所有类有效TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF-->
<!--将上面的appender添加到root-->
<root level="DEBUG">
    <appender-ref ref="STDOUT" />
    <appender-ref ref="FILE" />
</root>
</configuration>

相关文章

网友评论

      本文标题:logback不按时间文件大小分割问题

      本文链接:https://www.haomeiwen.com/subject/hoyarxtx.html