zoukankan      html  css  js  c++  java
  • springboot 配置日志 打印不出来sql

    今天整合springboot2 + mybatis + logback 遇到了在日志中sql打印不出来的坑,在网上找了好久,都不是我遇到的问题,这里吐槽一下下现在的博客质量,好多都是抄袭的,也没有标注转载。
    先说下要将sql打印到日志的配置
    1、在mybatis.xml配置中增加以下配置

      <!--指定 MyBatis 增加到日志名称的前缀。-->
      <setting name="logPrefix" value="m-shop-mybatis-sql." />
      <!--指定 MyBatis 所用日志的具体实现,未指定时将自动查找。 SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING-->
      <setting name="logImpl" value="SLF4J" />
    

    注:这里注意下logPrefix的value需要带“.”
    2、在logback-spring中增加如下配置

      <logger name="m-shop-mybatis-sql" level="debug"></logger>
    

    注:这里的name属性需要与mybatis文件中logPrefix的值对应,但这里不带“.”

    那么这里说我遇到的问题吧,以下是我的logback中部分配置

    <!--将日志输出到控制台-->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>info</level>
        </filter>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--打印格式-->
            <pattern>${LOG_FORMAT}</pattern>
            <!-- 设置字符集 -->
            <charset>${ENCODING}</charset>
        </encoder>
    </appender>
    
    <logger name="m-shop-mybatis-sql" level="debug"></logger>
    
    <springProfile name="dev,test">
        <!-- 日志输出级别 -->
        <root level="info">
            <appender-ref ref="CONSOLE" />
        </root>
    </springProfile>
    <springProfile name="prod">
        <!-- 日志输出级别 -->
        <root level="info">
            <appender-ref ref="FILE" />
        </root>
    </springProfile>
    

    这是我最开始的配置,就是打印不出sql来,最后找到问题,是因为级别的原因。
    解决方法

    将这里的info改为debug,就可以打印出来了。

    解释下原因:
    我使用的是dev,日志打印级别为info,设置logger为mybatis的打印级别为debug,虽然info级别大于debug,但是有logger 在应该是可以打印出来的,但是我在CONSOLE的中也配置了级别为info,这里的设置会拦截logger设置的级别。

    最后在说下sql打印在控制台的区别:

    以上第一张图是mybatis自己设置打印在控制台的,第二张图是mybatis打印在logback日志中,logback打印在控制台的。

  • 相关阅读:
    MongoDB 释放磁盘空间 db.runCommand({repairDatabase: 1 })
    RK 调试笔记
    RK Android7.1 拨号
    RK Android7.1 移植gt9271 TP偏移
    RK Android7.1 定制化 itvbox 盒子Launcher
    RK Android7.1 双屏显示旋转方向
    RK Android7.1 设置 内存条作假
    RK Android7.1 设置 蓝牙 已断开连接
    RK Android7.1 进入Camera2 亮度会增加
    RK 3128 调触摸屏 TP GT9XX
  • 原文地址:https://www.cnblogs.com/masy-lucifer/p/13938410.html
Copyright © 2011-2022 走看看