Я пытаюсь настроить внутреннее ведение журнала tomcat 7 с помощью log4j2
. Я выполнил ответ, указанный в Logging server classes in Tomcat 6 with log4j2.tomcat 7 внутренний журнал с log4j2.xml
Я использую tomcat 7.0.54 и log4j-core-2.1.jar
, log4j-api-2.1.jar
. я вниз загружается экстры и сделал все приведенные ниже шаги, но когда я начинаю кота, я получаю сообщение об ошибке:
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
Эти шаги я выполнил:
- поставил
log4j2.xml
в$CATALINA_BASE/lib
- загрузить
tomcat-juli.jar
иtomcat-juli-adapters.jar
от "массовки" - поставил
log4j-api-2.1.jar
,log4j-core-2.1.jar
,log4j-jul-2.1.jar
иtomcat-juli-adapters.jar
от "дополнительных" до$CATALINA_HOME/lib
. - заменить
$CATALINA_HOME/bin/tomcat-juli.jar
наtomcat-juli.jar
из категории "дополнительные услуги". - удалить
$CATALINA_BASE/conf/logging.properties
- установить менеджер протоколирования использовать менеджер из
log4j2-jul
моста (log4j-jul-2.1.jar
). Altercatalina.sh
, чтобы гарантировать, что включает в себя путь к классамbin/tomcat-juli.jar
,lib/log4j-jul-2.1.jar
,lib/log4j-api-2.1.jar
иlib/log4j-core-2.1.jar
, и команду, используемую для запуска включает в себя кота -Djava.util.logging.manager = org.apache.logging.log4j.jul.LogManager`
Я даже попытался добавить это (LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_HOME/lib/log4j2.xml"
) в catalina.sh
, но не работал.
Пожалуйста, дайте мне знать, если кто-нибудь сможет его успешно настроить.
Почему вы должны добавить $ CATALINA_BASE/LIB в вашем пути к классам? Согласно документации, библиотеки в $ CATALINA_BASE/lib или $ CATALINA_BASE/bin должны иметь приоритет для библиотек в $ CATALINA_HOME/lib или $ CATALINA_HOME/bin. Таким образом, нет необходимости добавлять что-либо в путь к классам, предполагается, что путь к классам будет правильно построен в зависимости от определения $ CATALINA_BASE. Это, как говорится, у меня такая же проблема с Tomcat 8. Я получаю следующее сообщение об ошибке: Не удалось загрузить LogManager «org.apache.logging.log4j.jul.LogManager» java.lang.ClassNotFoundException: .. – Achille
Фактически вместо установки CLASSPATH вы можете просто определить переменную LOGGING_CONFIG следующим образом: log4j: LOGGING_CONFIG = "- Dlog4j.configurationFile = $ {CATALINA_BASE} /conf/log4j2.xml", если ваш файл конфигурации $ {CATALINA_BASE} /conf/log4j2.xml. – Achille