我正在我的spring项目中尝试配置log4j,但是在我的pom.xml中包含了这个之后:
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
这个文件log4j2.xml在我的类路径中:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
在部署应用程序时,此消息将显示在控制台中(而不显示日志消息):
log4j:WARN No appenders could be found for logger (org.springframework.web.context.support.StandardServletEnvironment).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
我访问了指定的链接,但其中的信息对我没有帮助。
有人知道我错过了什么吗?
ps.:在我的课堂上,我也添加了这一行:
static final Logger logger = LogManager.getLogger(AcessoService.class.getName());
并增加:
logger.error(...);
在我想要的地方,但正如我所说,控制台中没有显示日志消息。
更新
现在,我将文件名更正为log4j.xml,并将错误消息更改为:
log4j:WARN Continuable parsing error 2 and column 30
log4j:WARN O elemento-raiz do documento "Configuration" deve corresponder à raiz de DOCTYPE "null".
log4j:WARN Continuable parsing error 2 and column 30
log4j:WARN O documento é inválido: nenhuma gramática encontrada.
log4j:ERROR DOM element is - not a <log4j:configuration> element.
更新2
下面的文件更正了第二个错误,但是我返回到我在这里发布的第一个错误:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" debug="true" xmlns:log4j="http://jakarta.apache.org/log4j/">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
发布于 2014-07-30 23:51:48
新的错误是关于log4j.xml文件的内容。根配置元素没有名称空间声明:
<log4j:configuration debug="true"
xmlns:log4j="http://jakarta.apache.org/log4j/">
能帮上忙吗?
发布于 2014-07-30 22:50:34
您有一个名为log4j2.xml的文件(最后带有exta "2“)。默认情况下,Spring从类路径加载log4j.properties或log4j.xml。如果您想要加载不同的文件,您必须告诉Spring来获取它。下面给出了一个示例。
在你的web.xml里
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j2.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
请参阅http://javafindings.wordpress.com/2013/06/12/integrating-log4j-with-spring-3-0-mvc/
https://stackoverflow.com/questions/25047018
复制相似问题