使用springBoot中的info等級通過druid打印sql

springBoot info等級通過druid打印sql

我的springBoot是使用logback來輸出日志的。

application.yml中log相關配置如下

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配置部分增加以下配置

druid:
      filter:
        commons-log:
          #data-source-log-enabled: true
          statement-log-enabled: true
          statement-executable-sql-log-enable: true

通過以上配置即可通過druid在日志等級為info的情況下打印sql;

使用druid打印出sql的優勢

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

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: