0


我无法使用 Maven 项目在 Eclipse 控制台中看到“跟踪”输出。有人可以帮我吗?

Log4j 配置文件:log4j.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>
 <logger name="p1.App" level="trace">
 <appender-ref ref="Console"/>
 </logger>
 <root level="error">  
  <appender-ref ref="Console"/> 
 </root>
</loggers> 
</configuration>

我的 Java 类文件:App.java

package p1;    
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class App {
    static Logger logger = LogManager.getLogger(App.class.getName());
public static void main( String[] args ) {
    logger.error("Error");
    logger.trace("Trace");   
}
}

在运行之前,我已经为 log4j.xml 正确设置了类路径。请建议我,我还需要配置什么?

提前致谢!!

4

1 回答 1

0

假设您使用的是 log4j 1.2(而不是 log4j2),则指定级别是使用 logger 元素内的元素而不是 logger 元素上的属性来完成的。

<logger name="p1.App">
   <level name="trace" />
   <appender-ref ref="Console"/>
 </logger>

还要确保您的 log4j.xml 在 src/main/resources 目录中,当它在 src/main/java 目录中时它将不起作用(它将被过滤,因为它不是 java 文件)。

于 2013-08-25T08:08:04.113 回答