Log4j, Spring MVC, не найдены никакие приложения для регистратора - PullRequest
7 голосов
/ 14 марта 2012

log4j работает нормально, однако при запуске сервера я получаю следующие предупреждения:

log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

Это означает, что log4j.properties не может быть найден. Но я не уверен, как это исправить, потому что, кажется, все работает нормально.

Ответы [ 4 ]

17 голосов
/ 22 мая 2012

Поместите пружину Log4jConfigListener в качестве первого прослушивателя в вашем файле web.xml.

<listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener> 

Вы устанавливаете upp расположение свойств log4j в context-param, но вам не нужно делать это, если оноразмещается на пути к классам.

Примером является ..

<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>/WEB-INF/resources/log4j.properties</param-value>
</context-param>
6 голосов
/ 29 ноября 2013

Переместите эти 2 строки кода в начало вашего файла web.xml, чтобы решить проблему.

<!-- location of log4j config file -->
<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>/WEB-INF/log4j.properties</param-value>
</context-param>

<!-- applies log4j configuration -->
<listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
1 голос
/ 29 апреля 2016

Если вы используете eclipse и tomcat для своей разработки, следующий метод должен работать

Объявите следующую зависимость в вашем pom.xml

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

Создайте файл log4j.properties и поместите его в папку ресурсов («src / main / resources»)

# Root logger option
log4j.rootLogger=DEBUG, stdout, file

# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Redirect log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
#outputs to Tomcat home
log4j.appender.file.File=${catalina.home}/logs/mylogfile.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

А потом в вашем классе, экземпляр журнала

private static final Logger logger = Logger.getLogger(WelcomeController.class);

после этого вы можете использовать регистратор где угодно

logger.debug("this will appear as a log in mylogfile.log!");
0 голосов
/ 29 января 2019

Я настроил <filter> в моем файле web.xml, который создавал проблему.Я прокомментировал это, и тогда это сработало для меня!

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