Konfigurieren von Logback zum hinzufügen von host-name/IP-zu jedem Ereignis protokollieren?
Ich bin mit Logback für die Protokollierung. Schreiber appenders senden Sie die Protokolle in Echtzeit an eine zentrale Schreiber-aggregator. Aber ich weiß nicht wie hinzufügen der Quelle-Maschine IP in den logs, die für jede log-Ereignisse. Blick auf die aggregierten zentralen Schreiber meldet, ist es fast unmöglich zu wissen, welche Maschine ist das senden der logs. Daher, gefolgt von der IP der Quelle-Maschine, um jedes Ereignis protokollieren, wird hilfreich sein, und wird wirklich toll, wenn wir kontrollieren können, dass durch die logback-Konfiguration.
- Ok.. ich habe es. Ich muss verwenden Sie ${HOSTNAME} in den Muster-layout.
- Ich pflegte %contextName in patternLayout und es funktioniert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es möglich zu überliefern, hostname remote-Empfänger thru contextName.
Fügen Sie folgenden logback.xml auf allen appenders:
Dann, auf aggregator-Instanz, es verfügbar sein wird für die Aufnahme in das Muster:
gut, wenn Sie arbeiten auf einem client-server-Projekt, dann kann u verwenden von MDC-Funktion des slf4j/logback vollständige Dokument hier und in diesem Fall können Sie eine gut strukturierte log-Datei, die Sie identifizieren können, welches Protokoll für die client -
hoffe, das hilft!
Entsprechend der Logback docs, es gibt jetzt eine
CanonicalHostNamePropertyDefiner
ausdrücklich hinzufügen, um einen Hostnamen auf Ihre Protokolle. Hinzufügen definieren, um Ihr Projekt:<define name="hostname"
class="ch.qos.logback.core.property.CanonicalHostNamePropertyDefiner"/>
zugreifen zu können, wie
${hostname}