0

同じGlassfishドメインにデプロイするEJBコンテナに格納されたいくつかのJavaアプリケーションを実装しました。それぞれのアプリケーション プロジェクトの resources フォルダーに独自の log4j.properties ファイルがあります (これらはすべて Maven プロジェクトです)。

各 log4j.properties ファイルに異なるログ ファイルが設定されていますが、アプリケーションをデプロイすると、最終的に同じログ ファイルに書き込まれます。

この問題を解決する方法を知っている人はいますか? :)

編集:これは、2 つのプロジェクトの log4j.properties ファイルです。

最初:

log4j.rootLogger=ALL,AppFileAppender

log4j.appender.AppFileAppender=org.apache.log4j.FileAppender

log4j.appender.AppFileAppender.File=${com.sun.aas.instanceRoot}/logs/Engine.log

log4j.appender.AppFileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.AppFileAppender.layout.ConversionPattern= %d [%t] %-5p %c - %m%n

log4j.logger.hesemulatorproducer=ALL,AppFileAppender
log4j.logger.org.hibernate=info

二番目:

log4j.rootLogger=ALL,AppFileAppender

log4j.appender.AppFileAppender=org.apache.log4j.FileAppender

log4j.appender.AppFileAppender.File=${com.sun.aas.instanceRoot}/logs/SendEndDeviceEvents.log

log4j.appender.AppFileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.AppFileAppender.layout.ConversionPattern= %d [%t] %-5p %c - %m%n

log4j.logger.hesemulatorproducer=ALL,AppFileAppender
4

1 に答える 1

0

この質問のコメント リンクが表示されません。したがって、この回答ではいくつかの説明を求めています。これらは、問題の根本原因を見つけるのに役立つ場合があります。

Log4j の初期化中に指定した構成ファイルのパスと名前を確認してください。

また、両方のプロジェクトのログが印刷されているファイルを教えてください。サーバー ログですか、それともアプリケーション ログ ファイルの 1 つですか?

これらのプロジェクトは、異なる WAR/EAR にデプロイされていますか?

org.apache.log4j.LogManager.getLoggerRepository() を使用して、リポジトリの場所を出力できます。

于 2013-07-19T05:38:46.240 に答える