2011-01-18 4 views
1

私は、Javaプロジェクト(プロジェクトAと呼ぶ)と動的Webプロジェクト(プロジェクトB)という2つのプロジェクトをEclipseで使用しています。どちらのプロジェクトもlog4jを使用し、両方とも独自の構成ファイルを持っています(今のところ、Project Aはlog4j.propertiesファイルを使用し、Project Bはlog4j.xmlファイルを使用します)。私はプロジェクトAからプロジェクトBのコードを呼び出す必要があるので、プロジェクトAのビルドパスでは、プロジェクトBが必要なプロジェクトとして追加されます。これは、プロジェクトAのlog4j.propertiesではなく、プロジェクトBのlog4j.xmlファイルから構成をロードするので、log4jを混乱させるようです。これに対処するために、起動設定に「-Dlog4j.configuration = log4j.properties」という行を追加しました。これはうまくいくようです。実際、ロガー出力の書式設定は、プロジェクトAのlog4j.propertiesで説明されています。eclipseを使用して、参照されているJavaプロジェクトでlog4j構成ファイルが競合しています。結果としてSpringのログ出力がありません

どちらのプロジェクトも、データベース接続にスプリングを使用しています。私が今直面している問題は、春からのすべての伐採出力が失われているようだということです。プロジェクトAのビルドパスからプロジェクトBを削除すると、問題が解決されず、コンソールから春のログ出力が表示されます。私のアプローチに本質的に何か問題がありますか?もしそうでなければ、プロジェクトBをプロジェクトAの構築パスに保ちながら、Springのログ出力をコンソールに表示するような提案はありますか?

長らく説明が残念です。どんな提案も非常に高く評価されます。

答えて

1

クラスパスにプロジェクトBのlog4j設定ファイルがあるようです。どちらのプロジェクトでも、設定ファイルがではなく、クラスパスにであることを確認して、代わりに-Dlog4j.configurationを使用してください。

通常、このような場合、私は複数のlog4jファイルを持たないようにします。両方のプロジェクトにスタンドアロンのJava main()がある場合、log4jのような一般的な設定ファイルを含む両方のプロジェクトに共通のプロジェクトがあると考えることができます。

関連する問題