java - lib - org apache commons logging logfactory debug




如何禁用類或整個包的記錄器? (3)

我正在使用apache.commons.logging,現在我想使用SimpleLog實現,但是當更改級別時,來自庫的記錄器出來了。 我想把它關掉。 是否有一種簡單的方法來更改整個包的日誌級別(可以log4j這樣做)?
我試過設置

org.apache.commons.logging.simplelog.log.foo =致命

在simplelog屬性文件中禁用(設置為致命可以)foo logger,但它不起作用。 (foo是輸出中出現的logger的名稱:[INFO] foo - Message)。


你應該使用:

log4j.logger.foo = OFF

請注意,“foo”不需要是包或類,而是任意String。 例如,我們有一個名為“SQL”的記錄器,可以從許多類中調用。


在Log4j中,您可以為由字符串標識的指定包,類或記錄器指定日誌記錄級別。 你只需在log4j.properties文件中寫這個:

log4j.logger.<your package> = DEBUG|INFO|OFF|WARN...

除非使用某些系統屬性,否則使用Commons Logging中的SimpleLog需要兩個配置文件。 這些文件是:commons-logging.properties和simplelog.properties。 您指定的日誌級別屬性應放在simplelog.properties中,如:

org.apache.commons.logging.simplelog.log.foo=warn

其中“foo”是記錄器名稱。 通常,這是包或包和類名。 在以下示例中,com..utils包下的所有內容都設置為info,而com..servlet.Dispatcher專門設置為warn

org.apache.commons.logging.simplelog.log.com..utils=info 
org.apache.commons.logging.simplelog.log.com..servlet.Dispatcher=warn 

commons-logging.properties文件應包含:

org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog

文檔herehere







apache-commons-logging