1

そのため、カスタム log4j (1.2) アペンダーの作成に問題があります。 https://github.com/stuart-warren/logit

基本的なテスト ケース: https://gist.github.com/stuart-warren/6750331

ネットワーク経由で正常にログに記録されますが、実行の最後にアプリケーションが実際に終了しないため、Eclipse で [終了] をクリックする必要があります...

ほとんどのネットワークベースのアペンダーが使用しているように見える通常の AppenderSkeleton を拡張していますが、close()メソッドが呼び出されないように見えるため、ソケットを破棄することはありません。

それはおそらく私が気付いていない非常に明白なことですが、私はJavaにかなり慣れていないので、2日間いじくり回した後、それが私に届きました。

ありがとう。

編集:

典型的には、私は最終的にあなたが呼び出す必要がLogManager.shutdown();あり、それがappendersclose()メソッドを正常に呼び出すことに気づきました。

4

1 に答える 1

0

典型的には、私は最終的にあなたが呼び出す必要がLogManager.shutdown();あり、それがappendersclose()メソッドを正常に呼び出すことに気づきました。

exit(0)また、アプリが https://github.com/stuart-warren/logit/blob/master/src/main/java/com/stuartwarren/logit/log4j1/ShutdownHook.javaの場合にソケットを閉じるためのシャットダウン フックも作成しました。

于 2013-09-29T18:15:04.730 に答える