Log4j2を使用してDEBUG レベルのログと ERROR レベルのログを別々のファイルに出力するには、以下のステップに従います。
-
Log4j2の設定ファイルを開いて編集します。これは通常、XMLまたはプロパティフォーマットで提供されます。
-
設定ファイル内で、2つの別々のAppender(ファイル出力先)を定義します。例えば、
DEBUG
レベルのログ用にDebugAppender
とERROR
レベルのログ用にErrorAppender
を作成します。以下はXML形式の例です。
<Loggers>
<Logger name="com.example.myapp" level="DEBUG">
<AppenderRef ref="DebugAppender" />
</Logger>
<Logger name="com.example.myapp" level="ERROR">
<AppenderRef ref="ErrorAppender" />
</Logger>
<Root level="ERROR">
<AppenderRef ref="ErrorAppender" />
</Root>
</Loggers>
<Appenders>
<RollingFile name="DebugAppender" fileName="logs/debug.log">
<ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>
<!-- その他の設定 -->
</RollingFile>
<RollingFile name="ErrorAppender" fileName="logs/error.log">
<ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
<!-- その他の設定 -->
</RollingFile>
</Appenders>
上記の設定では、DebugAppender
は DEBUG
レベルのログメッセージを logs/debug.log
ファイルに出力し、ErrorAppender
は ERROR
レベルのログメッセージを logs/error.log
ファイルに出力します。それ以外のログメッセージは ErrorAppender
を使用して logs/error.log
に出力されます。
- 必要に応じて、他の設定を調整し、ファイルのローテーションやファイルサイズ制限などの設定を追加できます。
この方法を使用すると、DEBUG レベルと ERROR レベルのログを別々のファイルに出力できます。各 Appender は対応するログレベルのメッセージのみを処理します。