繁体   English   中英

log4j2 slf4j仅记录错误

[英]log4j2 slf4j logging only error

控制台中仅显示错误日志。 没有调试,信息,警告日志出现。 以下是配置。 你能告诉我我做错了吗?

    <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>2.0-rc1</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.0-rc1</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.0-rc1</version>
</dependency>

我将上面的用法与下面的xml一起使用

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
 <Appenders>
  <File name="A1" fileName="A1.log" append="false">
   <PatternLayout pattern="%t %-5p %c{2} - %m%n"/>
 </File>
 <Console name="STDOUT" target="SYSTEM_OUT">
  <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
 </Console>
 </Appenders>
 <Loggers>
 <Logger name="org.apache.log4j.xml" level="debug">
  <AppenderRef ref="A1"/>
 </Logger>
 <Logger name="com.mypackage" level="debug">
 <AppenderRef ref="STDOUT"/>
 <AppenderRef ref="A1"/>
 </Logger>
 <Logger name="org.apache.log4j.xml" level="info"/>
 <Root level="info">
  <AppenderRef ref="STDOUT"/>
 </Root>
</Loggers>
</Configuration>

我使用以下代码记录:

logger.trace("Entering application.");
logger.info("Test");
System.out.println("Hello");
logger.debug("dbg");
logger.error("dbg");
logger.warn("dbgfatal");
logger.error("dbg error");

配置文件应命名为log4j2.xml并位于类路径中。

您的根目录级别应较低: debugtrace

<Root level="debug">
  <AppenderRef ref="STDOUT"/>
</Root>

您的根级别应为“调试”,附加程序引用应为“控制台”:

<root level='debug'>
    <appender-ref ref='Console'/>
</root>`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM