Из того, что я могу сказать, ни Log4Perl, ни какой-либо из связанных с ним модулей в CPAN не поддерживает поворот и сжатие файлов журнала.
Вращение может быть выполнено с помощью:
Но ни один из модулей не поддерживает вращение и сжатие. (Log:: Dispatch:: FileRotate имеет его в списке задач, но в настоящее время он не реализован).
Это можно сделать с помощью стандартного средства Logrotate в Linux, используя либо Log:: Log4perl:: Appender:: Файл recreate_check_interval или recreate_check_signal.
Из начальных тестов похоже, что Logrotate с опцией delaycompress выполнит трюк - даже на машине с высокой нагрузкой, как только файл будет перемещен, log4perl продолжит запись в тот же дескриптор файла, пока не будет получен сигнал.
Однако, если delaycompress не используется и есть (даже небольшая задержка) между сжатием файла журнала и улавливанием сигнала программой Perl, некоторые данные регистрации могут быть потеряны.
Как вы думаете? Есть ли другие варианты, о которых мы не думали?