如何使用文件快速关闭所有Log4Jlog4j.properties
输出?
Casey
问问题
148585 次
6 回答
127
将级别设置为 OFF(而不是 DEBUG、INFO、....)
于 2009-02-21T02:22:01.500 回答
85
如果您想以编程方式关闭日志记录,请使用
List<Logger> loggers = Collections.<Logger>list(LogManager.getCurrentLoggers());
loggers.add(LogManager.getRootLogger());
for ( Logger logger : loggers ) {
logger.setLevel(Level.OFF);
}
于 2011-07-18T17:42:04.480 回答
51
log4j.rootLogger=OFF
于 2009-02-25T09:42:27.667 回答
14
您可以将级别更改为关闭,这应该会删除所有日志记录。根据 log4j 网站,有效级别按重要性顺序为 TRACE、DEBUG、INFO、WARN、ERROR、FATAL。有一个未记录的级别称为 OFF,它比 FATAL 级别更高,并且会关闭所有日志记录。
您还可以创建一个额外的根记录器以不记录任何内容(级别关闭),以便您可以轻松切换根记录器。这是一篇让你开始的帖子。
您可能还想阅读Log4J 常见问题解答,因为我认为关闭所有日志记录可能无济于事。它肯定不会使您的应用程序加速那么多,因为无论如何都会执行日志记录代码,直到 log4j 决定它不需要记录此条目。
于 2009-02-21T12:07:01.720 回答
8
此外,还可以通过编程方式关闭注销:
Logger.getRootLogger().setLevel(Level.OFF);
或者
Logger.getRootLogger().removeAllAppenders();
Logger.getRootLogger().addAppender(new NullAppender());
这些使用进口:
import org.apache.log4j.Logger;
import org.apache.log4j.Level;
import org.apache.log4j.NullAppender;
于 2017-09-05T17:08:20.167 回答
5
将级别更改为您想要的。(我使用的是 Log4j2,版本 2.6.2)。这是最简单的方法,更改为<Root level="off">
例如:文件log4j2.xml
开发环境
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<Console name="SimpleConsole" target="SYSTEM_OUT">
<PatternLayout pattern="%msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
<Loggers>
<Root level="info">
<AppenderRef ref="SimpleConsole"/>
</Root>
</Loggers>
</Configuration>
生产环境
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<Console name="SimpleConsole" target="SYSTEM_OUT">
<PatternLayout pattern="%msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="off">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
<Loggers>
<Root level="off">
<AppenderRef ref="SimpleConsole"/>
</Root>
</Loggers>
</Configuration>
于 2016-08-18T09:12:09.287 回答