ロギングにLogbackを使用しています。 Scribeアペンダーは、ログを中央のScribeアグリゲーターにリアルタイムで送信します。しかし、各ログイベントのログにソースマシンのIPを追加する方法がわかりません。集約された中央のScribeログを見ると、どのマシンがログを送信しているかを知ることはほとんど不可能です。したがって、各ログイベントにソースマシンのIPを追加すると便利であり、ログバック構成を介してそれを制御できれば非常に便利です。
ContextNameを介してホスト名をリモートレシーバーに渡すことができます。
すべてのアペンダーのlogback.xmlに以下を追加します。
<contextName>${HOSTNAME}</contextName>
次に、アグリゲーターインスタンスで、パターンに含めることができます。
<pattern>%contextName %d %-5level %logger{35} - %msg %n</pattern>
Logback docs によると、ログにホスト名を追加するためのCanonicalHostNamePropertyDefiner
が明示的に追加されました。プロジェクトに定義を追加します。
<define name="hostname" class="ch.qos.logback.core.property.CanonicalHostNamePropertyDefiner"/>
${hostname}
としてアクセスします
クライアントサーバープロジェクトで作業している場合は、slf4j/logbackのMDC機能を使用できます 完全なドキュメントはこちら この場合、どのログが対象であるかを識別できる、適切に構造化されたログファイルを作成できます。どのクライアント
お役に立てれば!