druid-springboot-sql输出干净配置

931 阅读1分钟
  • pom.xml
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.22</version>
        </dependency>
  • logback-spring.xml
    <?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <springProfile name="dev-py">

        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <encoder charset="UTF-8"> <!-- encoder 可以指定字符集,对于中文输出有意义 -->
                <pattern><![CDATA[
	            	%-5level %d{HH:mm:ss} %thread %c.%M\(%L\) %msg%n
            	]]></pattern>
            </encoder>
        </appender>

        <root level="INFO">
            <appender-ref ref="STDOUT"/>
        </root>

        <logger name="com.open" level="ERROR"/>

        <logger name="org.apache.tomcat.jdbc" level="WARN"/>
     
     	<!-- 关键配置 如果没有,不能赋值sql直接执行--> 
        <logger name="java.sql" level="DEBUG"/>
     
        <!-- 此配置,会单纯把参数输出--> 
        <Logger name="druid.sql.Statement" level="trace" additivity="false">
            <appender-ref ref="STDOUT"/>
        </Logger>

    </springProfile>

</configuration>

配置sql输出

  • yml

    spring:
      servlet:
        multipart:
          max-file-size: 20MB
          max-request-size: 20MB
          location: D:/tmp
          enabled: true
          file-size-threshold: 1MB  # 当上传文件达到1MB的时候进行磁盘写入
      datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://xxx:3306/xx?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8
        username: uu
        password: uu
        druid:
          initialSize: 5
          minIdle: 5
          maxActive: 20
          maxWait: 60000
          timeBetweenEvictionRunsMillis: 60000
          minEvictableIdleTimeMillis: 300000
          validationQuery: select 1
          testWhileIdle: true
          testOnBorrow: false
          testOnReturn: false
      #    jmx-enabled: true
            # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
          filters: stat,wall,slf4j
          # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
          connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
          # 配置DruidStatFilter
          web-stat-filter:
            enabled: true
            url-pattern: "/*"
            exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
          # 配置DruidStatViewServlet
          stat-view-servlet:
            enabled: true
            url-pattern: "/druid/*"
            # IP白名单(没有配置或者为空,则允许所有访问)
            allow: 127.0.0.1,192.168.*
            # IP黑名单 (存在共同时,deny优先于allow)
            #deny: 192.168.1.100
            #  禁用HTML页面上的“Reset All”功能
            reset-enable: false
            # 登录名
            login-username: admin
            # 登录密码
            login-password: 123456
          filter:
            slf4j:
              statement-executable-sql-log-enable: true
              enabled: true
              statement-parameter-set-log-enabled: false
              statement-execute-query-after-log-enabled: false
              statement-prepare-after-log-enabled: false
              statement-execute-after-log-enabled: false
              statement-prepare-call-after-log-enabled: false
              statement-close-after-log-enabled: false