当配置为仅附加到文件时,停止向Eclipse控制台打印log4j2

时间:2018-03-22 22:30:33

标签: eclipse maven log4j2

在我的Maven项目中,log4j2.xml下有source/main/resources。内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
  <appenders>
    <File name="MyFile" fileName="app.log">
        <PatternLayout pattern="%d{yyyy-mm-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </File>             
  </appenders>

  <loggers>     
    <root level="debug">
      <appender-ref ref="MyFile" level="error"/>
    </root>    
  </loggers>
</configuration>

我正在用以下内容初始化记录器:

final static Logger logger = Logger.getLogger(Comparison.class.getSimpleName());

但是当我运行应用程序时,我的控制台看起来像:

enter image description here

如何让日志消息不显示在控制台上(但会发送到文件)?

1 个答案:

答案 0 :(得分:0)

感谢Vikas Sachdeva,我意识到我按照上面的配置设置了log4j ,但导入并初始化了Java的默认记录器

import java.util.logging.Logger;

final static Logger logger = Logger.getLogger(Comparison.class.getSimpleName());

我所要做的就是导入并初始化正确的记录器:

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

final static Logger logger = LogManager
        .getLogger(Comparison.class.getSimpleName());

就是这样!现在我的控制台很干净,消息按照配置发送到日志文件。