Log4jを使用して、アプリケーションのいくつかのステップを記録しました。迅速かつ汚くするために、私は以下を使用しました:
org.Apache.log4j.BasicConfigurator.configure();
これにより、Eclipseコンソールにログが出力されます。
レベルのしきい値をDEBUGより高く設定するかどうか、またその設定方法を知りたいですか?つまり、デバッグレベルのメッセージは表示せず、ERR、WARN、INFOだけを表示します。
ありがとうございました。
編集:以下を使用できますか?
import org.Apache.log4j.Logger;
import org.Apache.log4j.Level;
[...]
Logger logger = Logger.getLogger(this.class);
logger.setLevel(Level.INFO);
私は最も簡単な方法は次のようになると思います:
Logger.getRootLogger().setLevel(Level.INFO);
org.Apache.log4j.Logger.getRootLogger().setLevel(org.Apache.log4j.Level.INFO);
ロガーが呼び出される前にBasicConfigurator.configure()を呼び出していると仮定します。
これらの構成ファイルのいずれかを使用して、再コンパイルせずに変更できます。
log4j.rootLogger=INFO
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.Apache.org/log4j/">
<root>
<priority value="INFO"/>
</root>
</log4j:configuration>
これらの1つはコマンドライン上になければなりません。
プロパティファイル内で設定しない場合は、次のように使用します。
Logger root = Logger.getRootLogger();
root.setLevel(Level.INFO);
root.addAppender(new ConsoleAppender(
new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN)));
1)アペンダーを見つけます。log4j.xml構成ファイルに次のようなものがあるはずです。
<appender name="DEBUG" class="org.Apache.log4j.RollingFileAppender">
<param name="File" value="C:/logs/rmDebug.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="1500KB"/>
<param name="MaxBackupIndex" value="2"/>
<layout class="org.Apache.log4j.PatternLayout">
<param name="ConversionPattern" value="**FOOBAR** %d{dd.MM.yyyy HH:mm:ss} %c %m%n"/>
</layout>
<filter class="org.Apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="FATAL" />
</filter>
</appender>
LevelMinとLevelMaxの値が表示されますか? levelMinはログの記録を開始する場所で、levelMaxはログの記録を停止する場所です。 (この特定のアペンダー付き)。複数のアペンダーを使用できます。
次に、このアペンダーをクラスまたはパッケージに割り当てます。あなたはそのようなことをすることができます:
<category name="com.foobar.automation.doremiResourceManager" additivity="true">
<appender-ref ref="DEBUG"/>
</category>
BasicConfigurator.configure()が行うことは、ルートロガーをConsoleAppenderに追加し、アペンダーのレイアウトをパターン "%r [%t]%-5p%c-%m%n"のPatternLayoutに設定することです。したがって、ルートロガーのレベルを設定する必要があります。このクラスのロガーのレベルのみを設定した場合、ルートロガーのレベルは変更されず、他のすべてのロガー(このクラスを除く)は引き続きルートロガーのレベルを使用する可能性があるため、不要なログが引き続き表示されます。