0

初めてlog4j(または、さらに言えば、あらゆる種類のロギングライブラリ)を使用しようとしています。ほぼ2日間の努力の後、私はそれを機能させることができません。

これは私が使用しているlog4j.propertiesファイルですが、ロガー(junitテストスイートクラス内から呼び出される)はこのファイルをまったく使用していないようです。

private static final Logger logger = Logger.getLogger(myclass.class.getName());
...
logger.error("Message");
...

コンソールでメッセージを入力するだけで (ファイルは作成されません)、rootLogger からアペンダー X を削除しても、コンソールでメッセージを吐き出します。

このファイルは、Eclipse のプロジェクト ディレクトリの下の「resources」という名前のパッケージの下に保持されます。この構成ファイルを使用したいソース パッケージが他に 3 つあります。そのため、このファイル用に別のパッケージを作成しました。

ファイル作成許可の問題ですか、パラメータの大文字と小文字が間違っていますか (Java が厳密に型指定されている場合)、またはこのファイルの場所ですか?

どんな助けでも大歓迎です。

log4j.rootLogger=DEBUG, X, RUNLOG

log4j.appender.X=org.apache.log4j.ConsoleAppender
log4j.appender.X.layout=org.apache.log4j.PatternLayout
log4j.appender.X.layout.ConversionPattern=%m%n

log4j.appender.RUNLOG=org.apache.log4j.FileAppender
log4j.appender.RUNLOG.file=run.log
log4j.appender.RUNLOG.threshold=INFO
log4j.appender.RUNLOG.layout=org.apache.log4j.PatternLayout
log4j.appender.RUNLOG.layout.ConversionPattern=%m%n
4

2 に答える 2

0

デフォルトでは、Log4J はその構成ファイルが「デフォルト パッケージ」にあることを期待しています。それは単に という名前のリソースを検索しlog4j.properties(後でlog4j.xml.

Log4J 構成ファイルが というパッケージ内にあるとおっしゃいましresourcesたが、これがまさにそれが見つからない理由です。

次のオプションがあります。

  • ファイルを移動log4j.propertiesして、既定のパッケージに配置します。
  • プロジェクト (パッケージではなくlog4j.properties) にフォルダーを作成し、そこにファイルを配置して、そのフォルダーをランタイム クラスパスに追加します。
  • システム プロパティを指定log4j.configurationし、Log4J 構成ファイルへのパスを指定します。
于 2012-10-30T09:47:51.507 に答える
0

resourcesあなたのフォルダーがクラスパスにあるとは思いません。を使用してクラスパスにフォルダーを追加してみてくださいProject->Properties->Java Build ->Libraries ->Add Class Folder

于 2012-10-30T09:16:48.717 に答える