を使用してサーバーを実行できます
java -classpath log4j.jar org.apache.log4j.net.SimpleSocketServer 4712 log4j-server.properties
はSimpleSocketServer
、リモートによって指定されたポート番号に送信されたロギング イベントを受信し、 で指定した設定に従って、ローカルで生成されたかSocketAppender
のようにログに記録します。ネットワークソケットを介してログイベントをパイプするのではなく、元のプロセスで直接ログを記録する場合と同様に、関連するコンソール/ファイル/ローリングファイルアペンダーを構成し、関連するロガーにアタッチするのはあなた次第です。つまり、現在次のようなローカル ログ ファイルを作成している場合:log4j-server.properties
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
次に、送信側がlog4j.properties
単に言うように変更します
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
サーバー側log4j-server.properties
には、以前は送信側にあった定義が含まれています。
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
特に、送信側でレイアウトを指定しても意味がないことに注意してくださいSocketAppender
。ネットワーク上を通過するのはロギング イベント オブジェクト全体であり、レイアウトを行うのは受信側です。