Java log4j仅在控制台中打印致命和错误消息,但不显示信息/跟踪
我用JAVA创建了下面的basic程序,用log4j在控制台中显示日志消息Java log4j仅在控制台中打印致命和错误消息,但不显示信息/跟踪,java,log4j,log4j2,Java,Log4j,Log4j2,我用JAVA创建了下面的basic程序,用log4j在控制台中显示日志消息 import org.apache.logging.log4j.*; import org.apache.logging.*; public class Test { public final static Logger log=LogManager.getLogger(Test.class.getName()); public static void main(String[] args) {
import org.apache.logging.log4j.*;
import org.apache.logging.*;
public class Test {
public final static Logger log=LogManager.getLogger(Test.class.getName());
public static void main(String[] args) {
log.log(Level.TRACE,"Testing");
if(log.isTraceEnabled())
System.out.println("Trace Enabled");
else
System.out.println("Trace not Enabled");
log.trace("Entering Log4j Example.");
log.info("Started");
log.fatal("Error occured");
log.error("Dkjdsfh");
log.debug("Debugging");
log.info("Success");
log.warn("Warning");
}
}
但是,上面的代码只显示错误/致命消息,其他日志消息不显示在控制台中。下面是我的log4j.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<!-- Define custom levels before using them for filtering below. -->
<CustomLevels>
<CustomLevel name="DIAG" intLevel="350" />
<CustomLevel name="NOTICE" intLevel="450" />
<CustomLevel name="VERBOSE" intLevel="550" />
</CustomLevels>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %-7level %logger{36} - %msg%n"/>
</Console>
<File name="MyFile" fileName="logs/app.log">
<PatternLayout pattern="%d %-7level %logger{36} - %msg%n"/>
</File>
</Appenders>
<Loggers>
<Root level="trace">
<!-- Only events at DIAG level or more specific are sent to the console. -->
<AppenderRef ref="Console" level="diag" />
<AppenderRef ref="MyFile" level="trace" />
</Root>
</Loggers>
</Configuration>
我的程序的输出:
Trace not Enabled
16:55:40.104 [main] FATAL Test - Error occured
16:55:40.107 [main] ERROR Test - Dkjdsfh
谁能帮我一下我哪里做错了?
提前感谢。您可以将自定义“诊断”级别设置为350。350低于INFO(400),因此控制台上不显示INFO、DEBUG和TRACE级别
如果检查文件输出,它应该包含所有内容
OFF 0
FATAL 100
ERROR 200
WARN 300
INFO 400
DEBUG 500
TRACE 600
更改intLevel
或将不同的级别传递给appender
请参见您正在配置要实际记录的级别。感谢您检查。我已删除了自定义级别,但输出仍然相同,``我的根级别设置正确吗?
OFF 0
FATAL 100
ERROR 200
WARN 300
INFO 400
DEBUG 500
TRACE 600