mybatis-plus配置log4j2进行日志输出
项目中使用log4j2进行日志输出,但是发现控制不了mybatis-plus的日志打印级别。如下:
<root level="INFO"> <appender-ref ref="Console"/> <appender-ref ref="RollingFileInfo"/> <appender-ref ref="RollingFileWarn"/> <appender-ref ref="RollingFileError"/> <appender-ref ref="RollingFileDebug"/> </root> <Logger name="com.xx.manager" level="debug" /> 我明明配置的级别是info,但是依然会打印出下面的日志,仿佛org.apache.ibatis的日志不受root控制一样
如果你也遇到了这个问题,
直接去mybatis-plus的官网找解决方案,其中有一条,写到启动mybatis本身的log日志,点开后如下
启动 mybatis 本身的 log 日志
# 方式一 mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 方式二 application.yml 中增加配置,指定 mapper 文件所在的包 logging: level: com.baomidou.example.mapper: debug
方式一打印出的日志格式是ibatis自带的控制台输出,跳过。采用方式二, 注意那行注释,指定mapper文件所在的包,mapper文件就是接口文件所在的包,我的项目里是 com.xx.manager.dao.mapper,因为我们用log4j2.xml来控制日志打印的,所以在log4j2.xml多加上一行
<Logger name="com.xx.manager" level="debug" /> <Logger name="com.xx.manager.dao.mapper" level="info" /> #这行才是控制mybatis-plus日志打印级别的,而不是root或者org.apache.ibatis
这样mybatis-plus就不会打印debug的日志了。回到我上面那个问题,也就能说的通了,<Logger name="com.xx.manager" level="debug" />这样配置不仅控制着项目的日志级别为debug同时控制着mybatis-plus的日志级别,所以会打印出org.apache.ibatis的debug日志。
上一篇:
IDEA上Java项目控制台中文乱码