配置日志打印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日志。