Я работаю над переносом проекта Java с помощью log4j 1.2 для входа в систему с использованием log4j 2.
log4j 1.x имеет класс org.apache.log4j.DailyRollingFileAppender
который указан в файле конфигурации проекта log4j.properties. Класс с таким же именем DailyRollingFileAppender
больше не существует в log4j 2. Интересно, может DailyRollingFileAppender
роль DailyRollingFileAppender
быть заменена каким-либо другим классом (классами) или некоторой заменой конфигурации или реализации в log4j 2.
В руководстве по миграции подчеркивается, что приложение не должно обращаться к методам и классам, внутренним для log4j 1.x, таким как Appender
чтобы его можно было переносить на log4j 2. Но чтобы выполнить миграцию, что можно сделать с DailyRollingFileAppender
? Можно ли заменить его некоторой пользовательской конфигурацией или комбинацией классов в log4j 2? В руководстве по миграции есть несколько примеров конфигурации, в частности, один с FileAppender
, но как насчет DailyRollingFileAppender
? Это что-то довольно близко к базовому FileAppender
:
Из log4j 1.2 API Javadoc, класс org.apache.log4j.DailyRollingFileAppender
DailyRollingFileAppender расширяет FileAppender таким образом, что основной файл скатывается с выбранной пользователем частотой. Наблюдалось, что DailyRollingFileAppender обнаруживает проблемы синхронизации и потери данных. Сопутствующий компонент log4j включает альтернативы, которые следует учитывать для новых развертываний и которые обсуждаются в документации для org.apache.log4j.rolling.RollingFileAppender.