我正在尝试在我的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>
答案 0 :(得分:3)
你有一个名为log4j2.xml的文件(最后有一个exta&#34; 2&#34;)。默认情况下,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/
答案 1 :(得分:1)
新错误与log4j.xml文件的内容有关。 您的根配置元素没有名称空间声明:
<log4j:configuration debug="true"
xmlns:log4j="http://jakarta.apache.org/log4j/">
这有帮助吗?