Подтвердить что ты не робот

Сжатие файлов Log4j

Можно ли сжимать файлы журнала (я делаю это через RollingFileAppender)?

4b9b3361

Ответ 1

log4j extras поддерживает это:

просто добавьте следующее в свою конфигурацию RollingFileAppender и закончив конец имени файла .gz, автоматически скомпилируйте ваши лог файлы:

<appender...>
    <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
      <param name="FileNamePattern" value="/wombat/foo.%d{yyyy-MM}.gz"/>
    </rollingPolicy>
</appender>

проверьте здесь некоторые подробности в javadoc:

http://logging.apache.org/log4j/companions/extras/apidocs/org/apache/log4j/rolling/TimeBasedRollingPolicy.html

надеюсь, что это помогло

Ответ 2

Я столкнулся с этим великим ответом, но потом продолжил расследование, и log4j 2 вышел!

Теперь вы можете иметь сжатие с базовой библиотекой и многое, многое другое... это просто потрясающе!

RollingFileAppender - Я искал что-то, у которого были и временные, и размерные качки, и с сжатием... у него есть оба! и я могу отбросить свою библиотеку syslog4j, так как она тоже есть!

Пожалуйста, не используйте log4j 1.2 + дополнения, если вам действительно нужно.

Ответ 3

Я знаю, что это точно не отвечает на ваш вопрос, но предлагает альтернативное решение.

То, как мы справляемся с этим, заключается в том, что пакетный процесс запускается в конце дня, который сжимает любые предыдущие файлы журнала до сегодняшнего дня, избавляется от каких-либо до недели и затем копирует их на другой файловый сервер. Таким образом, приложение не должно потреблять какие-либо циклы CPU, делая это, и на сервере у нас есть журналы, которые не старше недели, а на другом файловом сервере у нас есть более старые файлы журналов.

Ответ 4

Единственное, что я вижу, это обновление log4j до более 1.3.15/1.4 и использование роли TimeBasedRollingPolicy для автоматического сжатия, но для этого потребуется обновление log4j по существу (и совместимость приложения)

Хм... может быть, еще лучше, пусть пусть log4j выполнит команду после того, как файл будет свернут. Поэтому вместо gzip я могу использовать некоторую другую логику сжатия, такую ​​как bzip, или lzop и т.д., Что было бы другим подходом, если бы у меня было это средство в log4j сегодня.