SpringBoot之SpringBoot整合log4j
點擊上方藍色字體,選擇“標(biāo)星公眾號”
優(yōu)質(zhì)文章,第一時間送達
? 作者?|? 彼岸舞
來源 |? urlify.cn/63ARZr
添加Maven依賴修改POM.xml
在默認的情況下,SpringBoot自動整合了最簡單的logback,那么要想使用log4j就要先排除默認的日志框架,然后添加log4j場景啟動器
?
?修改的是web的場景啟動器,增加的是log4j的場景啟動器,因為在新版中是沒有spring-boot-starter的,所以加到了web中,記得添加lombok不知道如何集成的,請參考《SpringBoot之SpringBoot整合lombok》
????????????org.springframework.boot
????????????spring-boot-starter-web
????????????
????????????????
????????????????
????????????????????org.springframework.boot
????????????????????spring-boot-starter-logging
????????????????
????????????
????????
????????
????????????org.springframework.boot
????????????spring-boot-starter-log4j
????????????1.3.8.RELEASE
????????
新建log4j.properties

?
?log4j.properties
#定義根節(jié)點
log4j.rootLogger=DEBUG,error,CONSOLE,info
#設(shè)置控制臺打印
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender?????
#設(shè)置為格式化打印?PatternLayout
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout?????
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm}?[%t]?[%c]?[%p]?-?%m%n????
#設(shè)置info級別的日志
log4j.logger.info=info
#輸出到日志文件
log4j.appender.info=org.apache.log4j.DailyRollingFileAppender
log4j.appender.info.layout=org.apache.log4j.PatternLayout?????
log4j.appender.info.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm}?[%t]?[%c]?[%p]?-?%m%n??
#日期文件名格式化
log4j.appender.info.datePattern='.'yyyy-MM-dd
log4j.appender.info.Threshold?=?info???
#是否追加
log4j.appender.info.append=true
#文件存放位置
log4j.appender.info.File=E:/dance/demo/log/info.log
log4j.logger.error=error??
log4j.appender.error=org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.layout=org.apache.log4j.PatternLayout?????
log4j.appender.error.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm}?[%t]?[%c]?[%p]?-?%m%n??
log4j.appender.error.datePattern='.'yyyy-MM-dd
log4j.appender.error.Threshold?=?error???
log4j.appender.error.append=true
log4j.appender.error.File=E:/dance/demo/log/error.log
log4j.logger.DEBUG=DEBUG
log4j.appender.DEBUG=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DEBUG.layout=org.apache.log4j.PatternLayout?????
log4j.appender.DEBUG.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm}?[%t]?[%c]?[%p]?-?%m%n??
log4j.appender.DEBUG.datePattern='.'yyyy-MM-dd
log4j.appender.DEBUG.Threshold?=?DEBUG???
log4j.appender.DEBUG.append=true
log4j.appender.DEBUG.File=E:/dance/demo/log/dubug.log
配置文件解讀:我覺得這個解讀比較不錯,想了解具體含義的可以看看
修改配置文件application.yml
logging:
??#?設(shè)置logback.xml位置
#??config:?classpath:log/logback.xml
??#?設(shè)置log4j.properties位置
??config:?classpath:log4j.properties啟動項目測試:
info日志成功輸入到info.log

?
?
訪問接口不穿參數(shù),看一下錯誤日志是否會記錄

?
?
?查看日志
在這里我發(fā)現(xiàn)了一個問題,就是當(dāng)程序報錯的時候明明是error級別的錯誤,但是log4j打印出來的卻是debug級別所以error文件,根本寫不進去東西
測試:
log4j控制臺輸出調(diào)為?info級別
訪問接口

?
?
error級別錯誤

?
?
?控制臺都沒有顯示的
嘗試降低控制臺日志級別為debug

?
?
?再次測試

?
?
?打印出來居然是debug級別的,在網(wǎng)上找了找,說是需要調(diào)整到warn級別,再次嘗試
emmm都不想貼圖了,一點反應(yīng)沒有了,嘗試在程序中手動打印error級別錯誤,看看能不能寫到文件中

emm,手動寫的寫進入了

?
?好吧,也算是能用了,推薦使用SpringBoot默認集成的Logback
粉絲福利:Java從入門到入土學(xué)習(xí)路線圖
??????

??長按上方微信二維碼?2 秒
感謝點贊支持下哈?
評論
圖片
表情

