java添加日志打印出sql语句,IDEA 集成log4j将SQL语句打印在控制台上的实现操作

时间:2024-10-30 20:33:12

适用地点:mavenmybatis的项目

配置log4j.properties

内容为

=error, Console

=debug

#Console

=org.apache.

=.

=%d [%t] %-5p [%c] - %m%n

/*****************************************************/

同时maven库找到如下三个jar包

commons-logging

commons-logging

1.2

log4j

log4j

1.2.16

org.slf4j

slf4j-api

1.7.25

org.slf4j

slf4j-log4j12

1.7.25

test

将其复制到

补充:mybatis打印SQL日志最终解决方案

问题

在程序调试时想要mybatis打印SQL日志,但它并没有类似hibernate所提供的showsql功能,因此只能通过配置log4j日志输出级别的方式来打印sql。

但网上搜到的答案几乎都是下面的配置方式:

=info,stdout

=.

=.

###显示SQL语句部分

=DEBUG

=DEBUG

=DEBUG

=DEBUG

=DEBUG

=DEBUG

=DEBUG

rootLogger的级别是info,是为了防止其他类输出debug的调试代码(rootLogger若设为debug了,mybatis也没必要再设置了)。

但这段代码根本没有作用!

解决方案

经过一系列的尝试,终于找到了解决方案,直接修改dao层(将修改为你项目中dao的路径)的输出级别即可:

上面的是log4j 2的XML配置,log4j中对应的配置为=trace。

这儿把输出调成了更低的trace,可以看到更详细的信息。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。