SL4JF в Tomcat не отображается в лог-файлах - PullRequest
8 голосов
/ 03 марта 2012

Я установил Tomcat и использую SLF4J в качестве нашей среды ведения журналов.Я скопировал slf4j-api-1.6.4.jar и slf4j-jdk14-1.6.4.jar в библиотеку Tomcat, т. Е. $TOMCAT_HOME/lib.

. Я предполагал, что если я использую SLF4J, он делегирует java.util.Logger, что делегирует базовую структуру ведения журналов Tomcat.Но когда я развертываю и проверяю свое приложение, я не вижу ничего, что регистрируется.Вся моя информация об исключениях / журналах теряется.

Правильно ли мое понимание, или я что-то упустил, чтобы остаться в классе?

Ответы [ 3 ]

2 голосов
/ 06 марта 2012

Вместо того, чтобы копировать slf4j-api-1.6.4.jar и slf4j-jdk14-1.6.4.jar в $ TOMCAT / lib, я отправил эти jar с приложением war.в этом случае мои исключения регистрируются.

1 голос
/ 14 марта 2012

Вы можете настроить Tomcat для использования log4j, как описано в его документах , поместить log4j.properties в каталог $ CATALINA_HOME / lib и использовать slf4j-api с мостом slf4j-log4j12.Таким образом, у вас есть чистый API slf4j и log4j, например DailyRollingFileAppender и т. Д.

1 голос
/ 04 марта 2012

Вероятно, вам нужно добавить системное свойство в CATALINA_OPTS.

Для систем Windows добавьте в свой файл% CATALINA_HOME \ bin \ catalina.bat:

set CATALINA_OPTS=-Djava.util.logging.config.file=\PATH\TO\YOUR\logging.properties

или в системах Linux / UNIX добавьте в файл $ CATALINA_HOME / bin / catalina.sh:

CATALINA_OPTS=-Djava.util.logging.config.file=/PATH/TO/YOUR/logging.properties

Не забывайте, что в системах Linux / UNIX вам нужно заключать в кавычки, если у вас есть более одного параметра в CATALINA_OPTS, например,

CATALINA_OPTS="-Xmx256m -Djava.util.logging.config.file=/PATH/TO/YOUR/logging.properties"

Эта строка обеспечивает загрузку файла logging.properties при запуске Tomcat.

...