在我的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());
但是当我运行应用程序时,我的控制台看起来像:
如何让日志消息不显示在控制台上(但会发送到文件)?
答案 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());
就是这样!现在我的控制台很干净,消息按照配置发送到日志文件。