-
SpringBoot中的默认日志实现是通过logback实现的,SpringBoot已经帮我们配置好了,所以我们是可以直接拿来用的戳这里了解SpringBoot的默认日志
-
配置默认日志级别时出现的错误,Spring boot 集成logging的时候报Failed to bind properties under 'logging.level' ..错
-
实现boot中默认日志框架打印sql日志到控制台功能
只需要在yml或者properties文件中添加日志打印级别所在的包就可以。
# log配置
logging:
level:
# 下方的路径填写的是mapper接口所在的全限定包名
com.fh.bookstore.dao: debug
优点:无需引入其他依赖,SpringBoot已经集合得到,快速方便,配合logback.xml还能做到自定义配色的打印。
缺点:MyBatis以及mybatis-plus打印的SQL日志是在Debug级别的,而且只能打印在配置文件中写死的mapper接口全限定类名内的,项目小的话完全没有问题,如果项目大就会造成,配置文件的繁琐、冗余、膨胀,仅仅是打印sql日志的接口全限定类名都得写好几十个,极大的不方便后期维护。
- 配置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)" />
<!--输出到控制台-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
<charset>${log.charset}</charset>
</encoder>
</appender>
<!--普通日志输出到控制台-->
<root level="info">
<appender-ref ref="console" />
</root>
<!--监控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>
<!-- 如想看到表格数据,将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的区别是后者添加了一个SQL结果表格的打印功能,要开启这个功能需要在logback中更改resultsettable打印级别为INFO,输出效果为。
书店项目中已经导入了org.bgee.log4jdbc-log4j2包,接下来去写org.bgee.log4jdbc-log4j2配置文件,然后配置SQL的驱动链接添加jdbc
网友评论