zoukankan      html  css  js  c++  java
  • logback 按时间和大小生成日志不生效的问题

    服务器要记录所有的日志,这些日志输入到一个文件中太大了,就需要按大小和时间还分割,比如每小时产生一个文件或当文件大小大于200MB的时候生成一个文件。

    第一版这样版本,但是服务器启动之后没有生成日志文件:

    <appender name="CONSOLE"
            class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${log.home}/consolelogs/console.log</file>
            <append>true</append>
            <rollingPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <!-- daily rollover -->
                <fileNamePattern>${log.home}/consolelogs/console.%d{yyyy-MM-dd_HH}.log
                </fileNamePattern>
                <maxHistory>72</maxHistory>
                <maxFileSize>200MB</maxFileSize>
            </rollingPolicy>
    
            <encoder>
                <pattern>%d{HH:mm:ss} %-5level [%thread][%file:%line] : %msg%n
                </pattern>
            </encoder>
        </appender>

    这个配置原来是参考 ch.qos.logback.core.rolling.TimeBasedRollingPolicy 这个按时间滚动方式配置的。

    之所以没有生效,是因为一个结节没有配置上。

    <appender name="CONSOLE"
            class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${log.home}/consolelogs/console.log</file>
            <append>true</append>
            <rollingPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <!-- daily rollover -->
                <fileNamePattern>${log.home}/consolelogs/console.%d{yyyy-MM-dd_HH}.%i.log   //这里面的%i不能少
                </fileNamePattern>
                <maxHistory>72</maxHistory>
                <maxFileSize>200MB</maxFileSize>
            </rollingPolicy>
    
            <encoder>
                <pattern>%d{HH:mm:ss} %-5level [%thread][%file:%line] : %msg%n
                </pattern>
            </encoder>
        </appender>

    上面在时间配置之后,有一个%i,这个绝对不能少。要不然在同一个小内产生多个日志文件就没办法区分了,这个i就是为了产生一个序号,防止日志文件覆盖。

  • 相关阅读:
    编程能力的四种境界
    《javascript高级程序设计》笔记五(转载)
    js学习总结----数据类型检测的四种方式(转载)
    初识数据库
    从你家的衣柜,理解软件编程的「架构」
    前端项目工程化 -- 自动化构建初体验
    ECMAScript -- let 和块级作用域
    异步编程 -- 手写Promise初体验
    前端项目工程化 -- webpack -- Source Maps
    异步编程 -- Promise
  • 原文地址:https://www.cnblogs.com/wgslucky/p/10071791.html
Copyright © 2011-2022 走看看