Java 停止在日志中发布调试语句
我的Java项目中有以下log.properties文件:Java 停止在日志中发布调试语句,java,linux,logging,log4j2,Java,Linux,Logging,Log4j2,我的Java项目中有以下log.properties文件: handlers= java.util.logging.ConsoleHandler .level= INFO java.util.logging.ConsoleHandler.level = INFO java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter java.util.logging.SimpleFormatter.forma
handlers= java.util.logging.ConsoleHandler
.level= INFO
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.SimpleFormatter.format=[%1$tF %1$tT] [%4$s] %5$s %n
我在一个生成大部分日志的文件中声明记录器,如下所示:
public static final Logger logger = LogManager.getLogger();
log4j2.xml文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorInterval ="5">
<Properties>
<Property name="log-path">${LOGDIR}</Property>
</Properties>
<Appenders>
<RollingFile name="RollingFile"
fileName="workerApplication.log"
filePattern="workerApplication-%d{yyyy-MM-dd}-%i.log">
<PatternLayout>
<Pattern>%d %p %c [%t] %m%n</Pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="20 MB" />
</Policies>
<!-- <DefaultRolloverStrategy max="4" /> -->
</RollingFile>
</Appenders>
<Loggers>
<Logger name="root" level="warn" additivity="false">
<appender-ref ref="RollingFile" />
</Logger>
<Root level="debug" additivity="false">
<AppenderRef ref="RollingFile" />
</Root>
</Loggers>
</Configuration>
${LOGDIR}
%d%p%c[%t]%m%n
在我的workerApplication.log中,我仍然得到代码中的调试语句。我只想要信息和以上的水平。我在两个地方都更改了日志的级别,但它不起作用。有人能指出我做错了什么吗?该项目正在Linux中作为RPM部署您可以在log4j2.xml中为每个记录器设置日志级别。由于您只有一个记录器,因此可以更改该记录器的日志级别,以仅获取级别
info
及更高级别的日志
请换
<Root level="debug" additivity="false">
<AppenderRef ref="RollingFile" />
</Root>
到
尝试将行更改为
<Root level="info" additivity="false">
<AppenderRef ref="RollingFile" />
</Root>