zoukankan      html  css  js  c++  java
  • log4j2使用RollingFile重启丢失日志问题

    <RollingFile name="cnkiLogRollingFileError" fileName="${logbigdata.dir}/Log8080/error.log"
    filePattern="${logbigdata.dir}/Log8080/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log" >
    <Filters>
    <!--warn/error/fatal级别的日志都输出到error.log,-->
    <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
    </Filters>
    <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
    <Policies>
    <TimeBasedTriggeringPolicy modulate="true" interval="1"/>
    <SizeBasedTriggeringPolicy size="500 MB"/>
    </Policies>

    </RollingFile>

    比如原始日志配置如此,每日滚动,日志满500M滚动。这样在日志收集时,如果重启tomcat或者java -jar 重新运行应用程序时,会造成info.log原有内容消失,从而丢失了部分日志内容。
    append="true":这个并不能解决丢失的问题 默认也是true的

    createOnDemand="true":这个配置能完美解决这个问题
    默认为false,该appender按需创建文件,当日志事件通过所有的filters并且通过路由指向了该appender,该appender仅仅创建该文件

  • 相关阅读:
    SpringBoot-10-之初阶整合篇(下)
    09--SpringBoot之初阶整合篇(上)
    07--SpringBoot之数据库JPA(CRUD)
    go 文件操作 io
    类型断言
    多态
    golang interface
    go strcut 封装
    go struct 抽象
    poj-3280 Cheapest Palindrome (dp)
  • 原文地址:https://www.cnblogs.com/littlerain1991/p/12067629.html
Copyright © 2011-2022 走看看