log4j2 Удалить на ролловере - PullRequest
2 голосов
/ 14 января 2020

Я прочитал официальный документ log4j2 и получил вопрос о RollingFileAppender.

Вот что говорится в документе:

Ниже приведен пример конфигурации, в которой используется RollingFileAppender с указанием времени и размера. на основе политик запуска будет создавать до 100 архивов в один и тот же день (1-100) , которые хранятся в каталоге на основе текущего года и месяца, и сжимает каждый архив используя gzip и будет катиться каждый час. Во время каждого ролловера эта конфигурация будет удалять файлы, которые соответствуют " / app- .log.gz" и имеют возраст 30 дней или старше, но сохраняют самые последние 100 ГБ или самые последние 10 файлов, в зависимости от того, что наступит первый.

<?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>

Я думаю, что эта конфигурация создаст до 100 архивов в один и тот же час дня, не 100 архивов в тот же день , может Кто-нибудь, кто даст мне руку? Спасибо!

1 Ответ

0 голосов
/ 14 января 2020

Да, он будет хранить до 100 файлов в час, но на самом деле он никогда не достигнет такого высокого уровня, поскольку в целом он хранит не более 10 файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...