SocketAppenderの使用方法について answer があります(分散システムからログを収集するために必要です)が、log4jは初めてで、そのサンプルコードの使用方法がわかりません。
おそらく私はそのようなlog4j-server.propertiesを持っているはずです:
log4j.appender.SERVER=org.Apache.log4j.net.SocketAppender
log4j.appender.SA.Port=4712
log4j.appender.SA.RemoteHost=loghost
log4j.appender.SA.ReconnectionDelay=10000
しかし、私はまだサーバーを起動する方法(この行を使用する方法)がわかりません
org.Apache.log4j.net.SimpleSocketServer 4712 log4j-server.properties
そして、最も重要なことは何ですか:Where\How私は私のログを見ることができますか?
以下を使用してサーバーを実行できます
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
にレイアウトを指定しても意味がないことに注意してください。ネットワークを通過するのはロギングイベントオブジェクト全体であり、レイアウトを行うのは受信側です。
サーバーを起動するには、コマンドプロンプトで次のコマンドを入力すると、サーバーが起動して実行されます。
Java -classpath C:Users.m2repositorylog4jlog4j1.2.17log4j-1.2.17.jar org.Apache.log4j.net.SimpleSocketServer 4712 log4j-server.properties
システムでlog4j.jarの正しいパスを指定することを忘れないでください。