SpringBoot中的默認(rèn)日志實(shí)現(xiàn)是通過logback實(shí)現(xiàn)的,SpringBoot已經(jīng)幫我們配置好了,所以我們是可以直接拿來用的戳這里了解SpringBoot的默認(rèn)日志
配置默認(rèn)日志級(jí)別時(shí)出現(xiàn)的錯(cuò)誤,Spring boot 集成logging的時(shí)候報(bào)Failed to bind properties under 'logging.level' ..錯(cuò)
實(shí)現(xiàn)boot中默認(rèn)日志框架打印sql日志到控制臺(tái)功能
只需要在yml或者properties文件中添加日志打印級(jí)別所在的包就可以。
# log配置
logging:
level:
# 下方的路徑填寫的是mapper接口所在的全限定包名
com.fh.bookstore.dao: debug
優(yōu)點(diǎn):無需引入其他依賴,SpringBoot已經(jīng)集合得到,快速方便,配合logback.xml還能做到自定義配色的打印。
缺點(diǎn):MyBatis以及mybatis-plus打印的SQL日志是在Debug級(jí)別的,而且只能打印在配置文件中寫死的mapper接口全限定類名內(nèi)的,項(xiàng)目小的話完全沒有問題,如果項(xiàng)目大就會(huì)造成,配置文件的繁瑣、冗余、膨脹,僅僅是打印sql日志的接口全限定類名都得寫好幾十個(gè),極大的不方便后期維護(hù)。
- 配置logback的日志打印顏色(這里直接拿eladmin框架的代碼過來看)
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds" debug="false">
<contextName>elAdmin</contextName>
<property name="log.charset" value="utf-8" />
<!--下邊的%black就是要改變的顏色配置-->
<property name="log.pattern" value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)" />
<!--輸出到控制臺(tái)-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
<charset>${log.charset}</charset>
</encoder>
</appender>
<!--普通日志輸出到控制臺(tái)-->
<root level="info">
<appender-ref ref="console" />
</root>
<!--監(jiān)控sql日志輸出 -->
<logger name="jdbc.sqlonly" level="INFO" additivity="false">
<appender-ref ref="console" />
</logger>
<logger name="jdbc.resultset" level="ERROR" additivity="false">
<appender-ref ref="console" />
</logger>
<!-- 如想看到表格數(shù)據(jù),將OFF改為INFO -->
<logger name="jdbc.resultsettable" level="OFF" additivity="false">
<appender-ref ref="console" />
</logger>
<logger name="jdbc.connection" level="OFF" additivity="false">
<appender-ref ref="console" />
</logger>
<logger name="jdbc.sqltiming" level="OFF" additivity="false">
<appender-ref ref="console" />
</logger>
<logger name="jdbc.audit" level="OFF" additivity="false">
<appender-ref ref="console" />
</logger>
</configuration>
-
為了解決SQL日志打印的問題
使用log4jdbc依賴包,配上eladmin的logback配置,做日志的SQL打印效果
image.png
log4jdbc和log4jdbc-log4j2-jdbc4.1的區(qū)別是后者添加了一個(gè)SQL結(jié)果表格的打印功能,要開啟這個(gè)功能需要在logback中更改resultsettable打印級(jí)別為INFO,輸出效果為。
書店項(xiàng)目中已經(jīng)導(dǎo)入了org.bgee.log4jdbc-log4j2包,接下來去寫org.bgee.log4jdbc-log4j2配置文件,然后配置SQL的驅(qū)動(dòng)鏈接添加jdbc
