2017-01-04 3 views
0

У меня есть следующая конфигурация журнала.Partial .gz файл, написанный log4j2

<RollingRandomAccessFile name="RollingReqAppender" 
     fileName="/usr/test/req.log" 
     filePattern="/usr/test/req.log.%d{yyyy-MM-dd-HH}.%i.gz" 
     immediateFlush="true" append="true"> 
     <PatternLayout> 
      <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS Z}%m%n</Pattern> 
     </PatternLayout> 
     <Policies> 
      <SizeBasedTriggeringPolicy size="500 MB"/> 
      <TimeBasedTriggeringPolicy interval="1" modulate="true" /> 
     </Policies> 
    </RollingRandomAccessFile> 

Когда журнал свернут (по времени или по размеру), он скремблирован. Gzipping файл занимает некоторое время (от секунд до минут в зависимости от нагрузки). Проблема в том, что файл gzipped на месте, и, хотя он gzipped, частично gzip-файл хранится в той же папке с тем же именем, что и последний файл gzip. например: /usr/test/req.log.2017-01-03-02.1.gz

Это вызывает проблемы для пользователя файла, который пытается обработать частичный файл. Я хочу иметь возможность различать частичный gzip-файл и готовый gzip-файл. Например, я хотел бы настроить конфигурацию, в то время как файл уже архивированные, она написана с другим именем, например: /usr/test/req.log.2017-01-03-02.1.temp.gz и как только он полностью архивированное имя изменено на окончательное название /usr/test/req.log.2017-01-03-02.1.gz

Как я могу добиться этого?

ответ

1

В настоящее время Log4j2 не ведет себя так, как вы описали. Таким образом, нет никакой конфигурации, чтобы это произошло.

Пожалуйста, поднимите запрос функции на трекер Log4j2 JIRA. Самый быстрый способ добиться этого - предоставить патч с модульным тестом.

Смежные вопросы