配置日志打印sql
方式一,设置mybatis日志输出类
#输出查询结果,注意,这个类实现是用system.out输出的,打印到了控制台上。
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
#不输出查询结果,设置这个类,还需要设置dao所在包级别=debug
#mybatis.configuration.log-impl=org.apache.ibatis.logging.log4j2.Log4j2Impl
1234
设置mapper接口日志等级为debug
logging.level.com.xxx.xxx.dao=DEBUG
1
方式三,貌似有时使用logback时,上面的配置都不管用

修改这种方式配置

<!--sql的debug-->
    <property name="SQL_DEBUG_CONSOLE_LOG_PATTERN"
              value="%logger %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>

    <!--sql debug输出到控制台-->
    <appender name="sqlConsole" class="ch.qos.logback.core.ConsoleAppender">
        <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>debug</level>
        </filter>
        <encoder>
            <Pattern>${SQL_DEBUG_CONSOLE_LOG_PATTERN}</Pattern>
            <!-- 设置字符集 -->
            <charset>UTF-8</charset>
        </encoder>
    </appender>
  <!--这里会捕获logger中属性 loggerr.name以 com.xxx.xxx.dao作为开头的所有 logger,设置它的logger属性-->
    <logger name="com.xxx.xxx.dao" level="DEBUG">
        <appender-ref ref="sqlConsole"/>
    </logger>
1234567891011121314151617181920


在MVC项目中使用MyBatis时,想要配置SQL日志记录,可以通过修改MyBatis的配置文件来实现。以下是一个基本的步骤和示例配置:

找到你的MyBatis配置文件(通常是mybatis-config.xml)。

在该配置文件中,找到或添加一个settings元素,并设置logImpl属性为STDOUT_LOGGING(对于简单的日志输出)。

示例配置:

<configuration>
    <!-- 其他配置... -->
 
    <settings>
        <!-- 配置日志实现为STDOUT_LOGGING,这会将日志输出到控制台 -->
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>
 
    <!-- 其他配置... -->
</configuration>

这样配置后,MyBatis会将执行的SQL语句和参数打印到控制台。如果你需要更详细的日志记录,可以使用其他日志实现,如LOG4J、LOG4J2或SLF4J,并相应地配置日志框架。

例如,使用Log4j2记录SQL日志,你需要添加Log4j2依赖,并配置log4j2.xml文件:

<Configuration>
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
    </Appenders>
    <Loggers>
        <Logger name="org.apache.ibatis" level="DEBUG"/>
        <Root level="error">
            <AppenderRef ref="Console"/>
        </Root>
    </Loggers>
</Configuration>

在MyBatis配置文件中设置logImpl为LOG4J2:

<settings>
    <setting name="logImpl" value="LOG4J2"/>
</settings>

确保你的项目中包含了正确版本的Log4j2依赖,并且log4j2.xml文件位于类路径中的正确位置。这样配置后,MyBatis会通过Log4j2记录SQL日志。