使用springBoot中的info等级通过druid打印sql

时间:2021-07-24 22:44:35

springBoot info等级通过druid打印sql

我的springBoot是使用logback来输出日志的。

application.yml中log相关配置如下

?
1
2
3
4
5
6
7
8
logging:
  pattern:
    console: "%d{yyyy-MM-dd HH:mm:ss.SSS} %clr(%5p) %clr([%15.15t]){cyan} %clr(%X{__traceId}){magenta} %clr(%-40.40logger{39}){blue} %clr(:) %m%n"
    file: "%d{yyyy-MM-dd HH:mm:ss.SSS} %5p [%t] %X{__traceId} %-40.40logger{39} : %m%n"
  level:
    com.xxx.xxx.xxx.repository.mybatis.mapper: debug   #设置mapper.java包为debug输出
  file: c:/tmp/xxx-xxx-web/log.log
  file.max-history: 30

如果项目日志等级为info时是不会打印sql语句的(在debug等级下会打印),如果想要在info等级下打印sql需要在application.yml中的

druid配置部分增加以下配置

?
1
2
3
4
5
6
druid:
      filter:
        commons-log:
          #data-source-log-enabled: true
          statement-log-enabled: true
          statement-executable-sql-log-enable: true

通过以上配置即可通过druid在日志等级为info的情况下打印sql;

使用druid打印出sql的优势

?
1
2
3
4
5
6
7
8
9
10
21:26:52,515 DEBUG druid.sql.Statement:137 - {conn-10005, pstmt-20007} executed. 2.301113 millis. select
         
    ID, AREA_ID, PARENT_AREA_ID, AREA_NAME, AREA_LEVEL, DESCRIPTION, LAST_UPDATE_TIME,
    LAST_UPDATE_BY, DELETE_FLAG, DELETE_BY, DELETE_TIME
   
    from RMS_AREA
    where
    DELETE_FLAG='0'
           
    ORDER BY AREA_ID DESC

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/ai_goodStudent/article/details/85695067