Spring5新功能日志框架Log4j2整合示例
Spring5整合Log4j2日志框架
本次系列的學(xué)習(xí)是基于 spring5 ,也就是最新的版本。
spring5 的整個代碼都是基于 java8 的,自身作了不少的優(yōu)化,比如許多不建議使用的類和方法已經(jīng)在代碼庫中刪除。
此外,spring5 框架自帶了通用的日志封裝,但是我們依然可以整合其他的日志框架使用,比如 Log4j。不過在 spring5 中移除了 Log4jConfigListener,需要使用 Log4j2。
一、引入依賴
引入相關(guān) jar 包。
二、創(chuàng)建Log4j2 配置文件
文件名是固定的 log4j2.xml
。
<?xml version="1.0" encoding="UTF-8"?> <!--日志級別以及優(yōu)先級排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL --> <!--Configuration后面的status用于設(shè)置log4j2自身內(nèi)部的信息輸出,可以不設(shè)置,當(dāng)設(shè)置成trace時,可以看到log4j2內(nèi)部各種詳細輸出--> <configuration status="INFO"> <!--先定義所有的appender--> <appenders> <!--輸出日志信息到控制臺--> <console name="Console" target="SYSTEM_OUT"> <!--控制日志輸出的格式--> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </console> </appenders> <!--然后定義logger,只有定義了logger并引入的appender,appender才會生效--> <!--root:用于指定項目的根日志,如果沒有單獨指定Logger,則會使用root作為默認(rèn)的日志輸出--> <loggers> <root level="info"> <appender-ref ref="Console"/> </root> </loggers> </configuration>
現(xiàn)在就可以直接用起來了,執(zhí)行一下之前的測試函代碼:
2021-08-08 09:09:21.935 [main] INFO com.alibaba.druid.pool.DruidDataSource - {dataSource-1} inited Process finished with exit code 0
可以在控制臺看到,日志信息是根據(jù)上面配置的格式進行輸出的。
三、手動進行單獨的輸出
也可以手動的輸出一些我們指定的內(nèi)容日志。
package com.pingguo.spring5.test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class UserLog { private static final Logger log = LoggerFactory.getLogger(UserLog.class); public static void main(String[] args) { log.warn("手動輸出warning"); log.error("手動輸出error"); } }
執(zhí)行一下:
2021-08-08 09:18:02.285 [main] WARN com.pingguo.spring5.test.UserLog - 手動輸出warning 2021-08-08 09:18:02.288 [main] ERROR com.pingguo.spring5.test.UserLog - 手動輸出error Process finished with exit code 0
以上就是Spring5新功能日志框架Log4j2整合示例的詳細內(nèi)容,更多關(guān)于Spring5整合Log4j2日志框架的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringBoot項目中同時操作多個數(shù)據(jù)庫的實現(xiàn)方法
在實際項目開發(fā)中可能存在需要同時操作兩個數(shù)據(jù)庫的場景,本文主要介紹了SpringBoot項目中同時操作多個數(shù)據(jù)庫的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03Springboot?No?bean?named?'XXXXX'?available?問
這篇文章主要介紹了Springboot?No?bean?named?'XXXXX'?available?問題解決方法,解決方法也很簡單,盡量規(guī)范類的命名,注解中指定bean名稱,本文給大家介紹的非常詳細,需要的朋友可以參考下2023-07-07Java Excel透視表相關(guān)操作實現(xiàn)代碼
這篇文章主要介紹了Java Excel透視表相關(guān)操作實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08GraalVM和Spring Native嘗鮮一步步讓Springboot啟動飛起來66ms完成啟動
GraalVM是高性能的JDK,支持Java/Python/JavaScript等語言,它可以讓Java變成二進制文件來執(zhí)行,讓程序在任何地方運行更快,這篇文章主要介紹了GraalVM和Spring Native嘗鮮一步步讓Springboot啟動飛起來66ms完成啟動,需要的朋友可以參考下2023-02-02詳解Springboot集成sentinel實現(xiàn)接口限流入門
這篇文章主要介紹了詳解Springboot集成sentinel實現(xiàn)接口限流入門,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11淺談Java中的集合存儲數(shù)據(jù)后,輸出數(shù)據(jù)的有序和無序問題
這篇文章主要介紹了淺談Java中的集合存儲數(shù)據(jù)后,輸出數(shù)據(jù)的有序和無序問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09Spring的Bean注入解析結(jié)果BeanDefinition詳解
這篇文章主要介紹了Spring的Bean注入解析結(jié)果BeanDefinition詳解,BeanDefinition描述了一個bean實例,擁有屬性值、構(gòu)造參數(shù)值和具體實現(xiàn)的其他信息,其是一個bean的元數(shù)據(jù),xml中配置的bean元素會被解析成BeanDefinition對象,需要的朋友可以參考下2023-12-12