1

commons-logging.properties でファイルの名前を指定して、特定の Log4J プロパティ ファイルを使用するように Commons Logging を構成しようとしていますが、Log4J は引き続き log4j.properties という名前のファイルを探します。

Log4J jar がクラス パスにある場合、commons-logging.properties の内容は無視されるようですが、クラス パスから jar を削除すると、commons-logging.properties ファイルが処理され、エラーが正しくスローされます。 「ユーザー指定のログ クラス 'org.apache.commons.logging.impl.Log4JLogger' が見つからないか、使用できません。」そのため、commons-logging プロパティ ファイルが実際に読み取られています。

Commons Logging と Log4J の両方のプロパティ ファイルは、クラス パス ディレクトリにあります。

commons-logging および log4j プロパティ ファイルで説明されているのと同じ問題がありますが、それが言うところの答えがわかりません....

ファイル commons-logging.properties は commons ロギングからのみ読み取られますが、log4j はシステム プロパティで log4j.configuration を探します。

また、この回答は Commons Logging ユーザー ガイドの情報と矛盾しているようです。ユーザーガイドによると....

log4j.configuration= log4j.propertiesこのシステム プロパティを使用して、Log4J 構成ファイルの名前を指定します。指定しない場合、デフォルトの構成ファイルは log4j.properties です。

Log4J 構成ファイルの名前を指定しましたが、まだデフォルトを使用しています。

commons-logging.properties ファイル内から log4j プロパティ ファイル (log4j-MyApp.properties など) の名前を指定することは可能ですか? それとも、2 つのコンポーネントがどのように相互作用するかを誤解していますか?

4

0 に答える 0