如何更好的掌控日誌輸出 Log4j 配置項介紹

2021-08-24 22:36:53 字數 1456 閱讀 6311

經常看見開發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表明 訊息在粗粒度級別上突出強調應用程式...