Sie können den Server laufen mit
java -classpath log4j.jar org.apache.log4j.net.SimpleSocketServer 4712 log4j-server.properties
Die SimpleSocketServer
empfängt Ereignisse gesendet an die angegebene Portnummer durch die Fern SocketAppender
, Protokollierung und protokolliert sie , als ob sie lokal generiert wurden, entsprechend der Konfiguration Sie Lieferung in log4j-server.properties
. Es liegt an Ihnen, die entsprechenden Konsolen-/Datei-/Rolling-Datei-Appender zu konfigurieren und sie an die entsprechenden Protokollierer anzuhängen, genau wie Sie dies tun würden, wenn Sie die Protokollierung direkt im ursprünglichen Prozess durchführen und die Protokollereignisse nicht über einen Netzwerk-Socket leiten. I.e. wenn Sie zur Zeit lokale Log-Dateien mit so etwas wie zu erstellen:
log4j.rootLogger=DEBUG, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=logfile.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d] [%t] [%m]%n
dann würden Sie es ändern, so dass die Sendeseite log4j.properties
einfach sagt
log4j.rootLogger=DEBUG, server
log4j.appender.server=org.apache.log4j.net.SocketAppender
log4j.appender.server.Port=4712
log4j.appender.server.RemoteHost=loghost
log4j.appender.server.ReconnectionDelay=10000
und die serverseitige log4j-server.properties
enthält die Definitionen, die zuvor auf der Sendeseite waren:
log4j.rootLogger=DEBUG, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=logfile.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d] [%t] [%m]%n
insbesondere beachten Sie, dass es keinen Sinn, ein Layout auf derAngabeauf der Sendeseite - was über das Netzwerk geht, ist das gesamte Protokollierungs-Ereignisobjekt, es ist die Empfangsseite, die für das Layout verantwortlich ist.
Diese werden Befehlszeilenargumente genannt. – Woot4Moo