0

Cobertura で単体テストを実行する Ant スクリプトをセットアップしました。何らかの理由で、Cobertura から log4j DEBUG 出力を取得しています。思いつく限りの診断ツールを使って何時間もこれを見つめてきましたが、なぜこれが起こっているのかわかりません。

SysInternals ProcessMonitor を使用して、「log4j.properties」または「log4j.xml」を手動でロードしたかどうかを確認しました。何も見つかりませんでした。

Ant で詳細なクラスの読み込みをオンにしましたが、「log4j.properties」または「log4j.xml」のいずれかが読み込まれるのを見たことはありません。「cobertura.jar」には次の内容を持つ「log4j.properties」があることがわかっているため、これはフォークされたプロセスに渡されなかったことを示しています。

# set default logging level and appender
log4j.rootCategory=WARN, console
#log4j.category.net.sourceforge.cobertura=WARN, console

#log4j.category.net.sourceforge.cobertura.check=DEBUG, console
#log4j.category.net.sourceforge.cobertura.coverage=DEBUG, file
#log4j.category.net.sourceforge.cobertura.coverage.CoverageDataFactory=INFO, file
#log4j.category.net.sourceforge.cobertura.coverage.SaveInstrumentationTimer=DEBUG, file
#log4j.category.net.sourceforge.cobertura.merge=DEGUG, console
#log4j.category.net.sourceforge.cobertura.reporting=DEBUG, file

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-6p %M, %m%n

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=cobertura.log
log4j.appender.file.MaxFileSize=3000KB
log4j.appender.file.MaxBackupIndex=3
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d %-2p [%t] %c{3} - %m - (%F:%L) %n

ここでの唯一の無関係な問題は、"DEGUG" のスペルミスですが、それはコメントアウトされています。

これが他にどのように起こっているのかわかりません。私は Cobertura のメンテナの 1 人に尋ねてきましたが、彼はなぜこれが起こっているのかわかりません。

4

1 に答える 1

0

私はそれを考え出した。非常に便利な「log4j.debug」プロパティを忘れていました。これを有効にすると、「log4j.xml」または「log4j.properties」ファイルが見つかった場所がわかります。前者は、パッチを適用した予期しないjarファイルで見つかりました(デフォルトレベルをDEBUGに設定していました)が、デフォルトでデバッグ出力が得られません。

于 2012-11-14T17:17:27.787 に答える