ロギング コンポーネントを分散システムに追加しようとしています。AspectJ
現在のソースコードの連鎖を避けるために書かれています。ログの送信にsocket appenderを使っていますが、もっと効果的なものを試してみたいです。
JMSAppender
と を使用する必要があると聞きましたAsyncAppender
が、構成に失敗しました。Receiver
ログを収集してデータベースと GUI に渡す (私は を使用します)を作成する必要がありますChainSaw
か?
私はturorial1とtutorial2に従おうとしましたが、十分に明確ではありません.
編集:
私が用意した小さなデモでは、リクエストに対して 6 つのログを送信しました (3 つのコンポーネントのシミュレーション)。
[2012-08-08 15:40:28,957] [request1344433228957] [Component_A] [start]
[2012-08-08 15:40:32,050] [request1344433228957] [Component_B] [start]
[2012-08-08 15:40:32,113] [request1344433228957] [Component_C] [start]
[2012-08-08 15:40:32,113] [request1344433228957] [Component_C] [end - throwing]
[2012-08-08 15:40:32,144] [request1344433228957] [Component_B] [end]
[2012-08-08 15:40:32,175] [request1344433228957] [Component_A] [end]
ソケットアペンダーの使用。したがって、私のlog4j.propertiesは次のとおりです。
log4j.rootLogger=DEBUG, server
log4j.appender.server=org.apache.log4j.net.SocketAppender
log4j.appender.server.Port=4712
log4j.appender.server.RemoteHost=localhost
log4j.appender.server.ReconnectionDelay=1000
だから私は走る
>java -classpath log4j-1.2.17.jar org.apache.log4j.net.SimpleSocketServer 4712 log4j-server.properties
設定あり
log4j.rootLogger=DEBUG, CA, FA
#
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=[%d] [%t] [%c] [%m]%n
#
log4j.appender.FA=org.apache.log4j.FileAppender
log4j.appender.FA.File=report.log
log4j.appender.FA.layout=org.apache.log4j.PatternLayout
log4j.appender.FA.layout.ConversionPattern=[%d] [%t] [%c] [%m]%n
次に、ログをファイルから Chainsaw に送信します。
絶対に基本的なことですが、もっとうまくやる方法を学びたいです。まず、ログを非同期で送信したいと思います。次に、ログをファイルに渡すなどの非常に単純なレシーバーを作成します。
上記のチュートリアルに従おうとしましたが、失敗しました。質問は次のとおりです。設定例をいくつか提供していただけますか? ファイルReceiver.java
の例log4.properties