Mybatis日志
约 560 字大约 2 分钟
配置log4j2日志系统
Log4j的详细配置项见
配置步骤
- 引入log4j2
- 新增log4j2配置文件,文件路径
resources/log4j2.xml - 修改mybatis配置(可不修改,Mybatis会自动使用对应的日志)
<!--pom文件-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.21.0</version>
</dependency><!--日志配置文件-->
<?xml version="1.0" encoding="UTF-8"?>
<Configuration xmlns="http://logging.apache.org/log4j/2.0/config">
<Appenders>
<Console name="stdout" target="SYSTEM_OUT">
<!--设置日志打印格式-->
<PatternLayout pattern="[%C#%M(%L)] %5level [%t] %msg%n"/>
</Console>
</Appenders>
<Loggers>
<!--设置日志级别-->
<Logger name="top.sunyog.mybatis.mapper" level="debug"/>
<Logger name="org.apache.ibatis.session.AutoMappingUnknownColumnBehavior" level="warn"/>
<Root level="error" >
<AppenderRef ref="stdout"/>
</Root>
</Loggers>
</Configuration><!--mybatis配置-->
<setting name="logImpl" value="log4j"/>测试log4j2日志系统的打印
[org.apache.ibatis.logging.jdbc.BaseJdbcLogger#debug(137)] DEBUG [main] ==> Preparing: select * from test_demo
[org.apache.ibatis.logging.jdbc.BaseJdbcLogger#debug(137)] DEBUG [main] ==> Parameters:
TestDemo{demoId=1, demoName='测试名称', demoDesc='测试备注'}配置logback日志系统
Mybatis的日志中默认不支持logback日志,但是logback实现了slf4j标准,而Mybatis支持slf4j日志,因此logback日志也能够使用 logback日志的配置方式如下
- 引入logback
- 新增logback日志配置文件,配置文件路径
resources/logback.xml - 修改mybatis配置(可不修改,Mybatis会自动使用对应的日志)
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.13</version>
</dependency><?xml version="1.0" encoding="UTF-8" ?>
<configuration debug="false">
<!-- 日志输出格式 -->
<property name="ENCODER_PATTERN" value="%yellow(%d{yyyy-MM-dd HH:mm:ss.SSS}) %red([%thread] %-5level %logger{80}) - %green(%msg%n)" />
<!-- 控制台日志:输出全部日志到控制台 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>${ENCODER_PATTERN}</Pattern>
<charset>UTF-8</charset>
</encoder> </appender>
<logger name="top.sunyog.mybatis.mapper" level="DEBUG" addtivity="false"></logger>
<root level="error">
<appender-ref ref="STDOUT" />
</root>
</configuration>测试logback日志系统的打印
2023-12-28 14:51:24.037 [main] DEBUG top.sunyog.mybatis.mapper.LessonMapper.getDemos - ==> Preparing: select * from test_demo
2023-12-28 14:51:24.063 [main] DEBUG top.sunyog.mybatis.mapper.LessonMapper.getDemos - ==> Parameters:
TestDemo{demoId=1, demoName='测试名称', demoDesc='测试备注'}注意事项:如果在Mybatis项目中存在多个日志系统,mybatis会自动在其中选择一个,如果需要修改为其他的日志系统,那么logImpl这个配置就很有用了,它可以指定具体使用哪一个日志系统,对于logback和log4j2的配置如下
<!--logback日志系统使用以下配置-->
<setting name="logImpl" value="slf4j"/>
<!--log4j2日志系统使用以下配置-->
<setting name="logImpl" value="log4j2"/>