zoukankan      html  css  js  c++  java
  • log4j2 按日期分割,自动清理历史文件

    方式一:定义CronTriggeringPolicy 

    <?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="warn" name="MyApp" packages="">
      <Properties>
        <Property name="baseDir">logs</Property>
      </Properties>
      <Appenders>
        <RollingFile name="RollingFile" fileName="${baseDir}/app.log"
              filePattern="${baseDir}/$${date:yyyy-MM}/app-%d{yyyy-MM-dd}.log.gz">
          <PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
          <CronTriggeringPolicy schedule="0 0 0 * * ?"/>
          <DefaultRolloverStrategy>
            <Delete basePath="${baseDir}" maxDepth="2">
              <IfFileName glob="*/app-*.log.gz" />
              <IfLastModified age="60d" />
            </Delete>
          </DefaultRolloverStrategy>
        </RollingFile>
      </Appenders>
      <Loggers>
        <Root level="error">
          <AppenderRef ref="RollingFile"/>
        </Root>
      </Loggers>
    </Configuration>

    方式二:

    <?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="warn" name="MyApp" packages="">
      <Properties>
        <Property name="baseDir">logs</Property>
      </Properties>
      <Appenders>
        <RollingFile name="RollingFile" fileName="${baseDir}/app.log"
              filePattern="${baseDir}/$${date:yyyy-MM}/app-%d{yyyy-MM-dd-HH}-%i.log.gz">
          <PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
          <Policies>
            <TimeBasedTriggeringPolicy />
            <SizeBasedTriggeringPolicy size="250 MB"/>
          </Policies>
          <DefaultRolloverStrategy max="100">
            <!--
            Nested conditions: the inner condition is only evaluated on files
            for which the outer conditions are true.
            -->
            <Delete basePath="${baseDir}" maxDepth="2">
              <IfFileName glob="*/app-*.log.gz">
                <IfLastModified age="30d">
                  <IfAny>
                    <IfAccumulatedFileSize exceeds="100 GB" />
                    <IfAccumulatedFileCount exceeds="10" />
                  </IfAny>
                </IfLastModified>
              </IfFileName>
            </Delete>
          </DefaultRolloverStrategy>
        </RollingFile>
      </Appenders>
      <Loggers>
        <Root level="error">
          <AppenderRef ref="RollingFile"/>
        </Root>
      </Loggers>
    </Configuration>
  • 相关阅读:
    java MVC设计模式探究——mvc在JAVA应用程序中的应用
    datagridview 的Columns 点击列标题 禁止排序
    组合键事件
    对一段视频,采帧(总结)
    datagridview中加入checkbox列,全选问题
    微软的RDLC报表(转)
    Linq to sql直接执行sql语句(转)
    获取当月的第1天
    AxWindowsMediaPlayer的详细用法
    DataSet
  • 原文地址:https://www.cnblogs.com/april-chen/p/11139284.html
Copyright © 2011-2022 走看看