Javaの場合Log4jを使用して独自のログレベルを作成する方法(Log4j 2の構成)

公開: 2017-07-26
Javaの場合Log4j2を使用して独自のログレベルを作成する方法

Log4jに独自のログレベルを追加する必要がある場合は、次のように行うことができます。 レベル、Apache Log4j2を使用したCustom Log Levels Level拡張する独自のクラスを作成する必要があります。

Log4jは、シンプルで柔軟なlogging frameworkです。 ロギングは、開発者にアプリケーション障害の詳細なコンテキストを提供します。 log4jを使用すると、アプリケーションバイナリを変更せずに、実行時にログを有効にすることができます。

log4jパッケージは、これらのステートメントが大きなパフォーマンスコストを発生させることなく、出荷されたコードに残ることができるように設計されています。

Log4jで独自のログレベルを作成する方法(Log4jの設定)

Log4jを使用すると、ログ要求を複数の宛先に出力できます。 log4jで言えば、出力先はappenderと呼ばれます。 それらは、コンソール、ファイル、GUIコンポーネント、リモートソケットサーバーからJMSまでさまざまです。

必要なjarファイル。

Mavenの依存関係は次のとおりです。

Log4jを最新バージョンに更新します

CVE-2021-44228:Apache Log4j2 <= 2.14.1構成、ログメッセージ、およびパラメーターで使用されるJNDI機能は、攻撃者が制御するLDAPおよびその他のJNDI関連のエンドポイントから保護しません。

log4j 2.16.0以降、この動作はデフォルトで無効になっています。

log4j.xmlファイルを/resourcesフォルダーに配置する必要があります。

リソースフォルダ内のlog4j.xmlファイル

以下のJavaコードのサンプルを次に示します。

  • JavaでのカスタムログレベルのLog4jロギング
  • log4jで独自のログレベルを作成する
  • log4jカスタムロガーの例

CrunchifyLog4jLevel.java

別の人は読む必要があります:

  • コマンドラインからApacheTomcatサーバーの停止を開始する方法は? (Windowsサービスとしてのセットアップ)
  • Eclipseで単純なWebサービスとWebサービスクライアントを作成してデプロイする

これがlog4j.xmlファイルの内容です

CrunchifyLog4jLevelTest.java

テストプログラムを実行すると、 Eclipse's Consoleに以下のタイプの結果が表示されます。

ログレベルに指定するint値は重要です。 ここで、「 CRUNCHIFY 」ログレベルはDEBUGレベルより高く、log4jによって提供されるTRACEレベルより低くなるように定義しました。

したがって、カテゴリ( log4j.xmlファイル内)で優先度レベルをDEBUGに設定すると、 CRUNCHIFYレベルのログはログファイルに記録されません