Классы log4j Appender
и Category
содержат несколько методов (например, Category.addAppender()
), которые могут изменить конфигурацию ведения журнала.Поскольку slf4j - простой фасад для ведения журнала, конфигурация полностью зависит от базовой структуры ведения журнала (logback, log4j, java-util-logging и т. Д.), Поэтому slf4j не поддерживает эти методы.
Проверьте исходный код класса Category
модуля log4j-over-slf4j , метод getRoot()
отсутствует.Я не думаю, что какое-либо свойство или XML-файл изменит это.С http://www.slf4j.org/legacy.html#log4j-over-slf4j:
Однако, если log4j настроен через файл конфигурации, будь то log4j.properties или log4j.xml, модуль log4j-over-slf4j должен работать нормально.
Это просто означает, что если ведение журнала вашего приложения настроено только с log4j.xml
или log4j.properties
, модуль log4j-over-slf4j
будет работать нормально, поскольку приложение не использует методы настройки Appender
и категории (и, возможно, другие) классы.Он использует log4j только для ведения журнала, а не для его настройки, и необходимые методы ведения журнала существуют в модуле log4j-over-slf4j.Итак, если ваше приложение использует методы конфигурации, вам нужно изменить код.