Конфигурация Log4j для весеннего приложения MVC на Tomcat - PullRequest
0 голосов
/ 08 ноября 2011

Я разрабатывал простое приложение Spring MVC в качестве службы отчетов.Локально я запускаю приложение с помощью maven-tomcat-plugin, используя mvn tomcat:run.Это работает точно так, как ожидалось.Однако сейчас я пытаюсь развернуть этот сервис на сервере под управлением Tomcat 6. Я загружаю файл war в каталог webapps, Tomcat замечает его, развертывает его и затем жалуется:

log4j:WARN No appenders could be found for logger
(org.springframework.web.filter.CharacterEncodingFilter).

log4j:WARN Please initialize the log4j system properly.

И,неудивительно, что никакая регистрация для службы не работает.

Это сообщение об ошибке выше не ясно для меня, и я задаюсь вопросом, может ли кто-нибудь помочь мне.

Для потомков у меня оченьФайл простого log4j.properties (который находится в /src/main/resources):

log4j.rootLogger=WARN, console

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern= %d{HH:mm:ss,SSS} [%t] %-5p %x %C{1} : %m%n

log4j.logger.com.rtr=DEBUG

Моя текущая гипотеза состоит в том, что окно tomcat может вообще не видеть этот пакет свойств, но я не уверен.Я смог подтвердить эту гипотезу, скопировав пакет в WEB-INF/classes и получив соответствующий результат.Какое правильное местоположение находится на пути к классам, но не в странном месте?

Любые указания приветствуются.

Ответы [ 2 ]

2 голосов
/ 08 ноября 2011

Maven копирует файлы ресурсов из /src/main/resources в /WEB-INF/classes на этапе compile жизненного цикла mvn. Использование команды mvn war:war НЕ скопирует эти ресурсы, поэтому вы должны сделать mvn compile war:war, чтобы ресурсы были доступны для вашего приложения.

1 голос
/ 08 ноября 2011

Я считаю, что файл log4j.properties должен быть в пути к классам, если вы хотите, чтобы он был выбран автоматически.Я обычно помещаю его в папку Lib Tomcat или в папку lib войны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...