SpringBoot中关闭Mybatis以及RocketMQ日志打印
SpringBoot集成Mybatis以及rocketMq之后,屏蔽mybatis默认的Debug级别的sql日志打印以及RocketMq的WARN级别日志。
·
SpringBoot工程集成了Mybatis和RocketMQ,也集成了Log4j,项目中自己的日志都可以通过log4j来管理,日志打印通过通过日志级别可以管理,一直很正常。
后来项目上线正常稳定运行一段时间后,要求只打印ERROR级别日志,其他级别日志都不打印。 这不是小意思吗? 直接修改log4j2.xml配置文件中的日志级别为ERROR,重启应用。
发现工程内自己写的日志已经不在打印除了ERROR级别之外的日志了,但是Mybatis的日志还是正常打印,而且是DEBUG级别,而且RocketMq也会打印WARN告警日志。
这就很奇怪了,然后尝试在lo4j2.xml中添加如下配置:
<logger name="RocketmqClient" level="ERROR"/>
<logger name="RocketmqRemoting" level="ERROR"/>
<logger name="com.xxx.dao" level="ERROR"/>
<logger name="com.xxx.mapper" level="ERROR"/>
<logger name="java.sql.Statement" level="ERROR"/>
<logger name="com.ibatis" level="ERROR"/>
<logger name="java.sql.Connection" level="ERROR"/>
<logger name="java.sql.PreparedStatement" level="ERROR"/>
<logger name="java.sql.ResultSet" level="ERROR"/>
发现根本不管用。 后来查了一些博客,有些让改代码的,有些让加新的日志配置文件的,尝试了都不行。 最后尝试在application.properties中添加如下两行配置,问题解决。
#自己项目中对应dao层的包路径
logging.level.com.xxx.dao=error
#RocketmqClient是RocketMq中日志打印的标识
logging.level.RocketmqClient=error
加上之后,重启应用,问题解决。
后记问题:
1、为什么会这样?
2、为什么同样的springboot+mybatis工程默认也不打印debug的sql日志?
3、为什么log4j2.xml控制不住mybatis和rocketMQ的日志打印?
更多推荐



所有评论(0)