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>
  • 相关阅读:
    Windows python 鼠标键盘监控及控制
    python 执行adb shell 命令
    python Windows提示框
    判断function属于函数或方法
    生成不同时间下的LOG
    pyqt5 QCalendar类中常用的方法
    python字符串大小写转换
    configparser 模块的基本方法
    QGridLayout类中常用的方法
    Day049--jQuery的文档操作和事件介绍
  • 原文地址:https://www.cnblogs.com/april-chen/p/11139284.html
Copyright © 2011-2022 走看看