經常看見開發web應用的時候,有人被控制台輸出的大量日誌弄得眼花繚亂,啟動乙個應用,控制台打出
n多沒用的日誌。那麼,如何控制最大限度log4j 的配置檔案輸出需要的除錯資訊呢?
log4j 的logger 元件配置可以幫助我們遮蔽不必要的日誌輸出,尤其在專案應用了大量第三方元件的時候,
通過控制logger 元件可以控制輸出某乙個元件的日誌級別,幫助我們更好的進行除錯。
注意:控制的粒度到類一級。也就是說,可以控制某乙個類的日誌如何輸出。
限制:雖然不可以控制到方法一級,但是基本上也夠用了。
假設我們現在的類命名空間在 com.foo 下面
我們有2個包
package com.foo.cartoon
package com.foo.common
這2個包下面分別有自己的類檔案
在package com.foo.cartoon包下有
com.foo.cartoon.cat;
在package com.foo.common包下有
com.foo.common.omia;
<?xmlversion= "1.0" encoding= "utf-8" ?>
log4j :configurationsystem"log4j .dtd" >
class = "org.apache.log4j .patternlayout" >
name ="conversionpattern"
value="%p[%t]%c.%m(%l)|%m%n" />
name ="com.foo" >
"info" />
logger >
name ="com.foo.common" >
"debug" />
logger >
"warn" />
log4j :configuration>
那麼 針對所有日誌(項配置) 都使用warn級別輸出
com.foo 路徑下的class 都使用info 級別輸出
com.foo.common 路徑下的class 都使用debug 級別輸出
---------------
假如想要控制com.foo.common.omia這乙個類的日誌輸出級別
只需要使用如下配置
name ="com.foo.common.omia">
logger >
---------------
如果專案中使用了第三方元件,那麼可以用這樣的方式控制日誌
name ="org.apache.struts2">
logger >
name ="org.springframework">
logger >
這樣就可以讓struts2的日誌按debug級別輸出,讓spring的日誌按info級別輸出
Log4 日誌級別
日誌記錄器 logger 是日誌處理的核心元件。log4j具有5種正常級別 level 1.static level debug debug level指出細粒度資訊事件對除錯應用程式是非常有幫助的。2.static level info info level表明 訊息在粗粒度級別上突出強調應用程式...
Log4 日誌級別
日誌記錄器 logger 是日誌處理的核心元件。log4j具有5種正常級別 level 1.static level debug debug level指出細粒度資訊事件對除錯應用程式是非常有幫助的。2.static level info info level表明 訊息在粗粒度級別上突出強調應用程式...
Log4 日誌級別
日誌記錄器 logger 是日誌處理的核心元件。log4j具有5種正常級別 level 1.static level debug debug level指出細粒度資訊事件對除錯應用程式是非常有幫助的。2.static level info info level表明 訊息在粗粒度級別上突出強調應用程式...