spring4和spring5日誌介紹

2021-10-05 14:51:52 字數 1318 閱讀 5522

關於日誌jul,jcl,log4j,slf4j日誌不清楚請參考我的這篇文章

在spring裡面找個會列印日誌的類,都會看到這樣一串**

import org.apache.commons.logging.logfactory;

public class ***

是不是很熟悉,引的是commons-logging.jar下的 org.apache.commons.logging.logfactory類,也就是jcl輸出日誌,所以如果我們在pom.xml檔案裡面引入log4j,那麼spring4就會使用log4j來列印日誌,如果不引用就會使用jul來列印。

spring依賴的是spring-jcl.jar來列印日誌的,為什麼會有spring-jcl這種jar,其實是spring自己寫的。

import org.apache.commons.logging.logfactory;

protected final log logger = logfactory.getlog(getclass());

public static log getlog(string name)

}

雖然引的也是org.apache.commons.logging.logfactory路徑下的類,但要注意這個是spring-jcl.jar的類。

從上面的**看可以發現通過判斷logapi的值,來選擇日誌型別,那麼logapi的值是什麼呢,他是怎麼被賦值的。

private static logapi logapi = logapi.jul;//預設使用jul輸出

static

catch (classnotfoundexception ex1)

catch (classnotfoundexception ex2)

catch (classnotfoundexception ex3)

} }}

從原始碼上可以發現,logapi預設值是jul,上面的靜態**塊就是嘗試去載入指定的類,如果存在則為logapi賦上對應的型別。

org.apache.logging.log4j.spi.extendedlogger  //log4j2

org.slf4j.spi.locationawarelogger //框架擴充套件日誌的,具體這不是很清楚。

org.slf4j.logger //酸辣粉

所以spring5裡面引入log4j的jar也不會使用log4j打輸出日誌,如果我們想只想通過log4j來輸出日誌,而不用log4j2。可以通過酸辣粉(slf4j),和酸辣粉log4j繫結器。

Spring4之Spring整合Struts2框架

spring4之spring整合struts2框架 一 spring在web中的使用通過註冊 servlet contextloaderlistener,web 應用程式可以載入 spring 的applicationcontext 物件。這個 會將載入好的applicationcontext物件儲...

spring 4 註解實體

1.建立實體 repository 適用於dao層 service 適用於service controller 適用於web service用於標註業務層元件 controller用於標註控制層元件 如struts中的action repository用於標註資料訪問元件,即dao元件 compon...

Spring5常用註解

用於建立物件的註解 component 用於建立物件,相當於xml檔案中配置的乙個bean 屬性只有乙個value,用來指定id,預設是當前類的類名,首字母小寫。下面三個註解是 component的衍生註解,作用和屬性相同,只不過提供了更加詳細的語義化。controller 一般用於表現層的註解 s...