初めて読んだときにマーカーについて聞いた:
Loggerオブジェクトの利用可能なメソッドをチェックします:
見つかったインターフェース:
私が得るより詳細な情報:
しかし、まだ混乱しています...whyではなくhowを使用してください。したがって、これは以下の複製ではありません。
[〜#〜] update [〜#〜]マーカーを使用する場合、カスタムJava =代わりに[〜#〜] xml [〜#〜]または。propertyファイルで設定を行うコード...
UPDATE 2From http://logback.qos.ch/manual/appenders.html#OnMarkerEvaluator
Marker notifyAdmin = MarkerFactory.getMarker("NOTIFY_ADMIN");
logger.error(notifyAdmin,
"This is a serious an error requiring the admin's attention",
new Exception("Just testing"));
これは再ハッシュされたバージョンです 私の答え 質問に対する SLF4J/Logbackでマーカーを使用するためのベストプラクティス 。
マーカーを使用して、colorまたはsinglelogステートメントをマークできます。これらの色、つまりマーカーで何をするかはあなた次第です。ただし、マーカーの使用に関しては、2つのパターンが一般的(最初のパターンは2番目のパターンよりも一般的)のようです。
トリガー:特定のマーカーの存在下でアクションを実行するようにアペンダーに指示することができます。たとえば、SMTPAppender
は、ログレベルに関係なく、NOTIFY_ADMIN
マーカーでログイベントにマークが付けられるたびに電子メールを送信するように構成できます。 logbackドキュメントの マーカーベースのトリガー を参照してください。ログレベルとトリガーのマーカーを組み合わせることもできます。
フィルタリング:たとえば、「DB」という色で永続性関連のログ(さまざまな複数のクラスファイル)をすべて色付け/マーク付けできます。その後、「DB」でフィルタリングできます。DBでマークされたログステートメントを除き、ロギングを無効にします。詳細については、logbackドキュメントの フィルターの章 を参照してください(MarkerFilterを検索)。
マーカーの出現前、同様の動作を実現するために、1)カスタムレベルを使用する2)変更されたロガー名を使用するオプションがありました。 SLF4J APIは現在、カスタムレベルをサポートしていません。オプション2については、1つまたは2つのロガーを変更する必要がある場合に、ロガー名のサフィックス(またはプレフィックス)を使用できます。関連する構成ファイルが管理不能になるため、3つ以上のロガーを「サブクラス化」する必要があるとすぐに、このアプローチは非実用的になります。