92

ファイルを使用してすべてのLog4J出力をすばやくオフにするにはどうすればよいですか?log4j.properties

4

6 に答える 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

レベルを OFF に変更すると、すべてのログが取り除かれます。log4j Web サイトによると、有効なレベルは、重要度の高い順に TRACE、DEBUG、INFO、WARN、ERROR、FATAL です。OFF と呼ばれる文書化されていないレベルが 1 つあります。これは FATAL よりも高いレベルであり、すべてのログをオフにします。

ルート ロガーを簡単に切り替えることができるように、追加のルート ロガーを作成して何もログに記録しない (レベル OFF) こともできます。ここにあなたがそれを始めるための投稿があります.

Log4Jの FAQ もお読みください。すべてのロギングをオフにすることは役に立たないかもしれません。log4j がこのエントリをログに記録する必要がないと判断するまで、とにかくログ コードが実行されるため、アプリの速度はそれほど向上しません。

于 2009-02-21T12:07:01.720 に答える
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 に答える