SLF4Jとlog4j2使用

1. SLF4Jとlog4j2

  SLF4Jは、ログ・インタフェースを直接使用することができないでロギング(log4jの、logback、log4j2等)を達成するために使用される特定のフレームの組み合わせを必要とします。

1.1なぜ、特定の実装を使用して、ログ・インターフェースを使用する必要はありません

  インタフェース仕様は、あなたがインターフェイスの顔だけを使用し、異なるロギング実装を持つことができ、ログを定義するアプリケーションは無料ですので、(SLF4Jパッケージは、特定のパッケージを達成するために直接ログを使用しないで、使用されています)ログコードに関連するコードを変更する必要なしに変更の実装フレームワークログ、。要するに:変更ログが達成したときにだけ変更ジャーパッケージは、直接特定のロギング実装を使用してサービスコード場合、ユーザーには直接影響を記録しないように実装されている、あなたはビジネス関連の呼び出しを変更するには、ログインする必要があります。

 

2 log4j2プロフィール

  これは主にコンフィギュレーション、アペンダ、ロガー、プロパティいくつかのプロパティを構成されてい

2.1構成プロパティ

  monitorinterval]の状態など複数のプロパティがあります。

  ステータス:「警告」「トレース」、「デバッグ」、「情報」:例えば、ログレベルlog4j2フレーム自体を制御するために、ように構成することができます。

  monitorinterval]の:すべての秒数を再読み込み設定ファイルには、設定を変更するには、アプリケーションのケースを再起動することはできません。熱い展開に似て

2.2アペンダプロパティ

  出力ソース、ログ出力の定義。

  コンソール:コンソールへのログ出力

  ファイル:指定したファイルへのログ出力は、ファイルのパスを設定する必要があります

  RollingRandomAccessFile:また、ファイルに出力しますが、ファイルが一定のサイズに達するとサポートは、新しいファイルから他のログに書き込まれます。   

    fileNameに現在のログファイルの場所とファイル名を指定する
    指定するときfilePatternローリングが発生し、ファイル転送ルールの名前を変更する
    ファイルボリュームが指定された値よりも大きい場合SizeBasedTriggeringPolicyのサイズを指定した場合、トリガーローリング
    番号がファイルを指定DefaultRolloverStrategy最も保存された
    この構成は必要TimeBasedTriggeringPolicyをそしてfilePattern組合せは、注目filePatternコンフィギュレーションファイル名の変更規則は$ {FILE_NAME}である- %のD { YYYY-MM-DD HH-MM} - %I、 粒子径[mm]の最小時間、すなわち分
    TimeBasedTriggeringPolicyはサイズが指定され1は、1分ごとに新しいファイルを生成するために結合されます。変更%のD {YYYY-MM-DD場合 HH}、 時間の最小粒子サイズ、各時間は、ファイルを生成し

  非同期:非同期、AppenderRefによって(典型的には設定RollingRandomAccessFileするために使用される)ソース非同期のどの出力を指定する必要

2.3ロガープロパティ

  名前は、パッケージ名を入力することができ、それは、パッケージ内の異なるファイルで異なるパスに出力してもよいです

  レベル:出力ログのどのレベル

  加法:継承が、それが本当であれば、出力ファイルに対応する親クラスのロガーの出力は再びログインしますが、通常はfalseに設定されているかどうか

<ロガー名= "rollingRandomAccessFileLogger"レベル= "トレース"加法= "真">   
    <AppenderRef REF = "RollingRandomAccessFile" />   
</ロガー>

2.4プロパティプロパティ

  構成を参照するために他の時点で、定数を定義するために使用される、構成は任意です

 

3 log4j2ケース

<?XMLバージョン= "1.0"エンコード= "UTF-8"?> 
<! -ルートパス- > < "WARN" =コンフィギュレーションステータス パッケージ = "org.apache.logging.log4j.core.patternを"> <プロパティ> <! - > -出力フォーマット定義ファイル、フォーマットを書くの回避の重複に直接戻って参照することができる 。<プロパティ名= "PATTERN">%{:MM:D MM-DD-YYYY HH SS.SSS} | - %を- 5level [%スレッド]のC%[%のL] - | N-%MSG%</プロパティ> </プロパティ>   <! - -パスの出力を定義します> <中アペンダ> <コンソール名= "CONSOLE"ターゲット= " system_out "> <= PatternLayoutはパターン" $ {}パターン「/> </コンソール> <RollingFile名= "トレースログ" fileNameに= "ログ/ TraceLog.log" filePattern
= "ログ/トレースログ- $$ {日付:YYYY-MM} / APP-%D {MM-DD-YYYY} - %のi.log.gz"> <PatternLayoutはパターン= "%MSG%N" /> <ポリシー> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicyサイズ= "250メガバイト" /> </ポリシー> </ RollingFile> <非同期名= "AsyncTraceLog"> <AppenderRef REF = "トレースログ" /> </非同期> <非同期名= "AsyncCONSOLE "> <AppenderRef REF =" CONSOLE」/> </非同期> </アペンダ>   <! -按照不同的包路径和日志文件路径关联在一起- > <ロガー> <AsyncLogger名= "com.log.broker" レベル   
  
= "情報"加法= "偽"> <AppenderRef REF = "AsyncCONSOLE" /> </ AsyncLogger> <ロガー名= "com.log.trace" レベル = "情報"加法= "偽"> <AppenderRef REF =」 AsyncTraceLog」/> </ロガー> <ルートレベル= "情報"> <AppenderRef REF = "AsyncCONSOLE" /> </ルート> </ロガー> </ configuration>の

  いくつかの一般的に使用されるファイルパスのプレースホルダ:

  %のD {HH:MM:SS.SSSは}ミリ秒までの出力時間を表す
  %のT出力電流スレッド名
  %-5level出力ログレベル- 5右場合、整列左および固定出力5つの文字を表す0より小さい場合MSGログテキスト
  Nラップ

  他の一般のプレースホルダは、次のとおり
  %のようLog4j2Test.javaのようなクラスF出力場合、ファイル名、
  %のL出力行数
  %の出力メソッド名M
  クラス名を含む出力ラインの数は、%L文メソッド名、ファイル名、行番号

 

:この記事はから来てhttps://blog.csdn.net/vbirdbest/article/details/71751835

おすすめ

転載: www.cnblogs.com/lichangfeng/p/12593680.html
おすすめ