我正在使用slf4j + log4j和我的一個庫。slf4j:調試行爲不一致?
我在一個快速應用程序中使用它,我並不在乎配置日誌記錄......或者至少我不認爲我在乎。
如果我不配置log4j,我得到標準的警告消息
log4j:WARN No appenders could be found for logger com.xyz.abcdbabble
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
這是罰款。 如果我再做
logger.debug("Blah blah blah")
然後記錄儀不能打印任何東西了。大!
但如果我這樣做
if (logger.isDebugEnabled())
{
System.out.println("print some complex stuff:");
print_some_complex_stuff();
}
然後在括號內的東西被執行。是什麼賦予了?
我正在尋找一種方法來確定是否打印出來的東西,應該有相當的有利,以logger.debug()
,即使log4j的沒有在最終應用配置。我怎樣才能做到這一點?
它將最終用戶(運行* java的人)置於控制之中,這通常是您想要的東西。不是設計程序的人。在這種情況下,我不想要正常情況。我有一些愚蠢的用戶,他們不知道如何設置log4j,只想鍵入'java myClass arg0 arg1 arg2'。 – 2011-04-25 18:54:40