4

4 つの Java/Java EE アプリケーションがあります。そのうちの 2 つは、WebSphere で実行されるサーバー ベースの j2ee アプリケーションです。他の 2 つは、スタンドアロンの Java アプリケーションです。私のロギング フレームワークは、log4j.properties を使用する log4j です。

質問 1: すべてのアプリケーションからログを記録するために同じログ ファイルを使用できますか? すべてのアプリケーションが同時に書き込みを行っている場合でも、ファイル書き込みの問題が発生しますか?

質問 2: すべてのアプリケーションが問題なく書き込みできる場合、アプリケーション名を各ログ ステートメントに事前に追加するにはどうすればよいですか?

4

1 に答える 1

2

質問1:

デフォルトでは機能しないと思います。

SLF4J を使用している場合は、LogBack への切り替えを検討してください。LogBack の File Appender には、異なる JVM 内の複数の FileAppender が同じログ ファイルに書き込むことを許可する慎重モードがあります (もちろん、すべてのファイルに慎重モードをオンにする必要があります)。

http://logback.qos.ch/manual/appenders.html#prudent

質問 2: アプリ名を手動でログに記録して、ログ メッセージを変更しないでください。

やり方はいくらでもあります。最も簡単な方法は次のとおりです。2 つの異なるアプリケーションを使用しているため、それぞれに異なるロギング構成ファイルを使用できます。アペンダーが使用するログパターンに対応するアプリ名情報を追加するだけで、必要なものが提供されます。

于 2013-01-16T08:21:11.763 に答える