log4cplus: конфигурация DailyRollingFileAppender /MaxBackupIndex не работает
Использование файла конфигурации log4cplus для bash-скрипта, который выполняет операцию dcmtk (DICOM toolkit). Ведение журнала работает и создает новый журнал каждую минуту, когда скрипт запускается (за "каждую минуту" в файле конфигурации). "minutely" - для целей тестирования, где оно будет ежедневно, как только я узнаю, что оно работает как положено. (Я не хочу ждать дни, чтобы увидеть, будет ли вращаться и удалять)
Проблема в том, что MaxBackupIndex установлен в 5. У меня 12 файлов журналов в каталоге журналов. При чтении документации по API…
"Это свойство ограничивает количество файлов резервных копий за один период ведения журнала; например, сколько файлов log.2009-11-07.1, log.2009-11-07.2 и т. Д.".
Если я правильно читаю, пока существует пять или меньше файлов "dcmtk.log.2014-04-04-09-41", они не будут удалены….
Ну, конечно, их меньше 5, потому что я настроил их на создание только одного в минуту независимо от размера.
Я бы подумал, что наличие "MaxBackupIndex = 5" будет означать, что максимальный период составляет 5 файлов журнала, а не 5 файлов журнала в течение периода, указанного в "Расписание". В конце я хочу иметь возможность установить число MaxBackupIndex равным x, и иметь только количество файлов x…
Буду признателен за любую помощь, понимающую это или получающую вращение, чтобы фактически иметь максимум 5 журналов.
Вот мой конфигурационный файл:
log4cplus.rootLogger = INFO, logfile
# log debug messages to a log file (with automatic rotation)
log4cplus.appender.logfile = log4cplus::DailyRollingFileAppender
log4cplus.appender.logfile.File = /securerad/logs/dcmtk.log
log4cplus.appender.logfile.Append = true
log4cplus.appender.logfile.ImmediateFlush = true
log4cplus.appender.logfile.Schedule = minutely
log4cplus.appender.logfile.MaxBackupIndex = 5
Спасибо - Богатый
1 ответ
"Это свойство ограничивает количество файлов резервных копий за один период ведения журнала; например, сколько файлов log.2009-11-07.1, log.2009-11-07.2 и т. Д.".
Просто так было всегда. Это историческое поведение. Я бы предложил использовать только RollingFileAppender
вместо.