我想使用新的Log4J 2-Java Logging Framework。一切正常,但是一个小时以来,我尝试加载一个自定义配置文件来配置日志记录(例如日志级别)。
这是我的log4j2.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="OFF">
<appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</appenders>
<loggers>
<root level="error">
<appender-ref ref="Console"/>
</root>
</loggers>
</configuration>
我尝试了以下方法,但没有任何效果:
由于官方网站无法帮助我,希望您可以帮助我让Log4j 2使用我的配置文件。
重要提示:请确保配置文件的名称是log4j2.xml
(请注意2
句点之前的),而不是log4j.xml
我的猜测是什么也没有发生,因为使用错误级别未记录任何内容。您可能想要尝试添加另一个记录器,如下所示:
<logger name="com.foo.Bar" level="trace">
<appender-ref ref="Console"/>
</logger>
看起来“ 配置”部分可能是不错的资源。
为了进一步详细说明,您要指定一个级别设置为“错误”的记录器:
<root level="error">
<appender-ref ref="Console"/>
</root>
这意味着只有使用Level.ERROR记录的消息才会显示在日志中。添加限制级别较低的记录器将使更多消息出现在日志中。我建议您看一下手册的“ 体系结构”部分(如果向下滚动页面,将看到解释日志记录级别的表)。或者,您可以只更改要跟踪的根记录器的级别(而不是添加新的记录器)
给定您指定的配置,执行下面的代码将产生类似 13:27:50.244 [main] ERROR com.example.Log4j2Tester - testing ERROR level
package com.example;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Log4j2Tester {
private static final Logger LOG = LogManager.getLogger(Log4j2Tester.class);
public static void main(String[] args) {
LOG.error("testing ERROR level");
//if you change the level of root logger to 'trace'
//then you'll also see something like
// 13:27:50.244 [main] TRACE com.example.Log4j2Tester - exiting application
LOG.trace("exiting application");
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句