#log4j2
#log4j2
Вопрос:
У меня есть требование записывать файлы журналов на основе часа.
Кроме текущего журнала, остальные журналы должны быть сжаты (gz), как показано ниже
-rw-r—r— 1 karthick karthick 58546 31 августа 19:00 console.20200831-19.log.gz
-rw-r—r— 1 karthick karthick 58546 31 августа 20:00 console.20200831-20.log.gz
-rw-r—r— 1 karthick karthick 58546 31 августа 21:00 консоль.20200831-21.log
Попробовал приведенный ниже фрагмент, но не сработал так, как ожидалось.
<RollingRandomAccessFile
name="myFile"
fileName="console.%d{yyyyMMdd-HH}.log"
filePattern="console.%d{yyyyMMdd-HH}.log.gz"
append="true" immediateFlush="true">
<PatternLayout pattern="%d [%t] %-5p %c[1] %m%n">
<Policies>
<TimeBasedTriggerPolicy>
<Policies>
</RollingRandomAccessFile>
Ответ №1:
В имени файла не должно быть %{d}, оно используется только для создания целевого файла при переносе. Вы могли бы оставить атрибут fileName выключенным, однако вы должны знать, что файл не будет сжат при завершении работы, и если время отличается при перезапуске, он также не будет сжат.