log4jを使って不要なログをフィルタリングする方法
log4jでは、設定ファイルやコードによって不要なログをフィルタリングできます。
設定ファイルでフィルタリング
ログ4jの設定ファイルでは、ログ4jのレベルフィルターを利用してログのレベルを指定し、不要なログをフィルタリングできます。よく使われるレベルとしては、DEBUG、INFO、WARN、ERRORなどがあります。
たとえば、コンフィグレーションファイルでログレベルをINFOに設定すると、DEBUGレベルのログはフィルタされます。
log4j.rootLogger=INFO, stdout
方法2:コードで動的にフィルタ
コードでは、ロガーオブジェクトのlog4jを使用して動的フィルタリングを実装できます。ロガーオブジェクトのレベルを設定することでログをフィルタリングできます。
例えば、コードでログレベルをINFOに設定すると、DEBUGレベルのログはフィルタリングされます:
Logger logger = Logger.getLogger(YourClass.class);
logger.setLevel(Level.INFO);
なお、より高いレベルのログにはより低いレベルのログが含まれる事に注意してください。例えば、ログレベルがWARNに設定されている場合、INFOおよびDEBUGレベルのログもフィルタリングされます。
レベルフィルタ以外にも、ログ4j の他のフィルタを使ってログをフィルタすることが可能だ。ログのキーワードやスレッド名などでフィルタすることができる。具体的な方法はログ4j の公式ドキュメントを参照してほしい。