2

log4j のマニュアルによると、log4j.properties を src フォルダーに配置する必要があります。このファイルを、log4j に影響すると思われるすべての場所にコピーしました。ただし、これは機能しません。

TestEM クラスには多くの単体テスト関数が含まれています (私は testng を使用します)。feedback.strategy パッケージのクラスを参照するこれらのテスト関数の 1 つを実行します。

私の日食プロジェクト

log4j.properties ファイルの内容は次のとおりです。

#log for class1
log4j.category.Demo1=DEBUG, dest1
log4j.appender.dest1=org.apache.log4j.FileAppender
log4j.appender.dest1.File=C:/Users/Asus/workspace/FeedbackProcess/logs/class1.log
log4j.appender.dest1.layout = org.apache.log4j.PatternLayout
log4j.appender.dest1.layout.ConversionPattern= %d %p [%t] (%c) \u2013 %m%n
4

4 に答える 4

6

これは、ほとんどの場合、慣例および/または個人的な好みの問題です。私が慣れているのは、プロジェクト ルート ( andの隣) に別のソース ディレクトリ(たとえばconfig、 または) を作成し、そこに を配置することです。これは、新しく作成されたフォルダーを右クリックし、Build Path -> Use as Source Folderを選択することで実行できます。オプションで、いくつかの包含/除外パターンも指定できます。resourcessrctestlog4j.properties

デフォルトでは、Log4j はクラスパスのルートでプロパティ ファイルを探します。上記のセットアップでは、プロパティ ファイルが出力ディレクトリにコピーされ、開発中にクラスパスのルートに配置されます。

後で展開中log4j.propertiesに、jar/war ファイルにもバンドルされます。実行時にクラスパスに別の構成フォルダーを指定して、バンドルされたプロパティをオーバーライドすることができます。(この他の質問を参照してください。注文エントリに関するドキュメントはクラスパスで優先されます)

于 2013-03-20T14:03:58.860 に答える
4

アプリケーションのクラスパスに log4j.properties ファイルを配置する必要があります。

于 2013-03-20T13:48:55.930 に答える
1

おそらく、ファイル log4j.properties が正しく読み取られており、問題は log4j.properties ファイルの構成にあります。この行を log4j.properties の先頭に追加しても違いはありますか (クラス ファイルにいくつかのログ ステートメントがあると仮定します)。

log4j.rootLogger=DEBUG, dest1
于 2013-03-28T13:35:54.710 に答える
0

プロジェクトの WEB-INF\classes に log4j.properties を配置します。

log4j-xx.jar を WEB-INF\lib の下に置き ます 詳細はこちらを参照してください

于 2013-03-20T13:53:04.627 に答える