1

これは、プロジェクトをSVNリポジトリにチェックインするまでプロジェクトで使用したlog4jファイルでした。これは正常に機能しており、Eclipseのコンソールにログ情報が表示されました。

log4j.rootLogger=debug, stdout, R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%d - %p %t %C.%M (%F:%L) %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=x.log

 log4j.appender.R.MaxFileSize=100KB
 # Keep one backup file
log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d - %p %t %C.%M (%F:%L) %m%n

リポジトリからプロジェクトをチェックアウトし、log4jプロパティファイルでこの変更を行ってログを無効にしました。

#log4j.rootLogger=debug, stdout, R
log4j.rootLogger=OFF

しかし、この変更は期待どおりに機能しませんでした。Eclipseのコンソールでログ情報を取得しました。ターミナルで同じことをクロスチェックしたところ、問題はなく、ターミナルのログ情報を取得できませんでした。Eclipseに問題はありますか?私はこの問題についてたくさん検索しましたが、解決策は得られませんでした。ここで何が悪いのかを見つけるのを手伝ってください!!!

4

2 に答える 2

2

ここには2つの考えられる問題があります。

  1. 構成は次のように言う必要があります(OFFアペンダーを探す代わりに、アペンダーがないことを伝えるため):

    log4j.rootLogger =

  2. Eclipseが古いバージョンのファイルを使用しているのは、おそらくEclipseの外部でファイルを編集したためです。ファイルを更新するだけで(右クリック/更新)、期待どおりに機能し始めます。

于 2012-10-16T14:03:45.863 に答える
1

プロパティを使用して-Dlog4j.debuglog4j-内部デバッグ情報を出力し、起動時に実際にロードされるログ構成を確認します

このような情報が得られます(xmlベースの構成の場合ですが、プロパティファイルの構成でも同様の情報が得られると思います)。

log4j: Trying to find [log4j.xml] using context classloader sun.misc.Launcher$AppClassLoader@11b86e7.
log4j: Using URL [file:/C:/develop/workspace/foobar/target/classes/log4j.xml] for automatic log4j configuration.
log4j: Preferred configurator class: org.apache.log4j.xml.DOMConfigurator

この'log4j: Using URL ...'行はLogManagerクラスからのものです。

于 2012-10-16T14:09:45.367 に答える