我已經設置了一個Ant腳本來運行Cobertura的單元測試。出於某種原因,我得到了Cobertura的log4j DEBUG輸出。我一直在盯着這幾個小時,用我能想出的所有診斷函數,我不明白爲什麼會發生這種情況。診斷爲什麼我的Ant的Cobertura輸出處於調試模式
我使用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維護人員,他不明白爲什麼會發生這種情況。