2015-06-02 4 views
2

Я создал образец Java-проекта, который содержит сервлеты и код сервлета, имеет записи журнала для печати сообщений журнала. Я использую SLF $ j для печати журналов в сервлетах. Весь этот проект выполнен в виде файлов sampleProject.jar без файла manifest.mf. Я использую этот файл jar в другом проекте, который работает на tomcat (веб-приложение). Если я запустил это веб-приложение от tomcat, которое содержит «sampleProject.jar». Я не могу видеть сообщения журнала, которые я написал в коде сервлетов (из jar), но приложение работает так, как ожидалось, без печати журналов. С помощью вышеприведенной настройки я не смог увидеть журналы, напечатанные, поэтому я создал файл log4j.properties с добавками в качестве консоли и файла и поместил библиотеки привязки (log4j.jar, slf4j-logfj12.jar) вместе с slf4j , Теперь я снова создал файл jar с дополнительными изменениями. Теперь также я не смог распечатать журналы, я получаю следующую ошибку в консоли.Журналы SLF4j не печатаются из файла Jar

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". 
SLF4J: Defaulting to no-operation (NOP) logger implementation 
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 

Пожалуйста, руководство, если я делаю неправильно, посмотрев приведенное выше объяснение.

Я создаю образецProject.jar неправильно? Почему я получаю вышеупомянутую ошибку, даже я разместил необходимые привязки?

ответ

0

У вас есть один из этих файлов на вашем пути к классам SLF4J-nop.jar, SLF4J-simple.jar, SLF4J-log4j12.jar, SLF4J-jdk14.jar или Logback-classic.jar?

Пожалуйста, прочитайте документацию SLF4J: http://www.slf4j.org/codes.html#StaticLoggerBinder

Не удалось загрузить класс org.slf4j.impl.StaticLoggerBinder

сообщается Эта ошибка, когда класс org.slf4j.impl.StaticLoggerBinder не может быть загружается в память. Это происходит, когдасоответствующий привязку SLF4J можно найти на пути к классу. Размещение одного (и только одного) slf4j-nop.jar, slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar или logback-classic.jar в классе путь должен решить проблему.

SINCE 1.6.0 Начиная с версии SLF4J 1.6, в отсутствие привязки, SLF4J по умолчанию выполняет операцию бездействия (NOP) .

Вы можете скачать привязки SLF4J на странице загрузки проекта .

+0

Здравствуйте @Bruno, я добавляю обязательные привязки в пути к классам jar-файла, я также упомянул об этом в приведенном выше объяснении. –

+0

Привет @ M.S.Naidu, извините, я не прочитал весь ваш пост. Проверьте свой путь класса tomcat. Копирование всех ваших зависимостей в TOMCAT_HOME/lib может быть исправлено. Это сообщение в блоге также может помочь вам: http://adfinmunich.blogspot.de/2012/03/how-to-configure-tomcat-to-use-slf4j.html – Bruno

+1

Некоторые хорошие ответы, которые могут вам помочь: http: // stackoverflow.com/questions/8012595/tomcat-logging-with-slf4j-and-log4j – Bruno

Смежные вопросы