今天在敲代码的时候,有个查询的问题,一直没找出来,期初一直以为是mybatis的映射文件的问题,改了也没用,后来想来这个sql语句要是打印出来看,就更好发现一下问题,就想到配置一下。中间看到一个很好的大神写的,还未亲测,感觉很有道理,先记下来 https://blog.csdn.net/koolfret/article/details/78926219
如何配置网上很多答案,我这就简单说一下:
#log4j.rootLogger=debug,console,info,warn,error,fatal
log4j.rootLogger=DEBUG,Console
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern= %p |%X{requestid}| %d{MM-dd_HH:mm:ss} %F %L %m %n
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
这是我的一些配置,我的问题在于它的logger日志级别理解出现了偏差,刚开始我配置的是第一句,我把所有的级别都写上去了,我觉得是写了这些,对应的所有级别下的日志都会打印出来,配置完发现,控制台并没有把我的sql语句打印出来,后来查了一下才发现,他这个确实都可以配,但是他这个日志级别有继承性,就比如你定义了info,那么debug级别的日志就不会打印出来,哦,这个你得先知道优先级由高到低是error,warn,info,debug,只有大于等于优先级的日志才会打印出来,我这样定义,显然就不可能会打印了。改成第二句之后,日志就出来了,有了日志,问题就很容易解决了。