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

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

36 голосов
/ 25 июля 2010

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

Ответы [ 4 ]

42 голосов
/ 25 июля 2010

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

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

16 голосов
/ 18 апреля 2013

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

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

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

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

3 голосов
/ 25 июля 2010

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

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

1 голос
/ 07 мая 2012

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

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

...