要是mybatis项目打印出日志,只需要在log4j的配置文件中加上下面一段即可

 log4j.logger.com.ibatis=debug
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug
log4j.logger.java.sql.Connection=debug
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug
log4j.logger.com.founder.centerbusiness=debug

注意,这段配置生效的前提是你配置了根记录器

 log4j.rootLogger=info,stdout

我就是弄了好半天都没有输出,原因是项目中只使用了一个

 log4j.logger.business=debug,A,stdout

的日志记录器,其他的日志由于没有根记录器,根部无法输出来,切记。

log4j扩展知识:

1,rootLogger

总是存在一个rootLogger,即使没有显示配置也是存在的,并且默认输出级别为DEBUG,所有其他的Logger都默认继承自rootLogger。

2 自定义的Logger(子Loggger)继承自rootLogger

格式如下:

log4j.logger.A.B.C

这样定义后其实建立了3个logger实例,它们分别是"A"、"A.B"、"A.B.C"。每次我们在系统中取得logger时,并不是新建实例,这些实例是系统启动的时候就按照配置文件初始化好的(也可能时第一次引用的时候建立的,然后缓存其实例供以后使用,这部分还没有时间研究)。

调用:

Logger logger = Logger.getLogger("A.B")

3 限制appender叠加性

例1:

log4j.rootLogger=DEBUG, Console
log4j.logger.A=DEBUG, Console
log4j.logger.A.B=INFO, Console

对于logger A.B输出的任何日志会往控制台输出三次,原因是A.B继承A的以及A的父logger的所有appender,这种继承关系仅仅是把父logger的appender添加到自己的appender列表中,父logger的输出level不会影响子logger的输出。

例2:限制appender叠加

log4j.rootLogger=DEBUG, Console
log4j.logger.A=DEBUG, Console
log4j.logger.A.B=INFO, Console
log4j.additivity.A.B=false

logger A.B的日志仅会输出到自己Console中,不会继承任何父logger的appender。

最新文章

  1. 浅谈文本溢出省略号代表修剪text-overflow
  2. 在caffe中使用hdf5的数据
  3. UVa 10735 (混合图的欧拉回路) Euler Circuit
  4. 失物招领发布-HTML5调摄像头
  5. 【博弈论】HDU 5754 Life Winner Bo
  6. [Java] TreeMap - 源代码学习笔记
  7. mysql sql_mode 之 NO_ENGINE_SUBSTITUTION
  8. div内嵌p,div等块元素出现的问题
  9. http-server 使用介绍
  10. debian将默认中文改成英文
  11. 微信支付(APP)
  12. 六:Dubbo与Zookeeper、SpringMvc整合和使用
  13. 插件开发之360 DroidPlugin源码分析(四)Activity预注册占坑
  14. 第一个Polymer应用 - (3)使用数据绑定
  15. python将两个数组合并成一个数组的两种方法的代码
  16. 微信小程序—获取用户网络状态和设备的信息
  17. @property专题
  18. 一个经典的PHP加密解密算法
  19. @Controller和@RestController的区别(转)
  20. CSS 小结笔记之文字溢出处理

热门文章

  1. 用v-if 来给不同筛选出来的todo添加不同的按钮
  2. 遇到问题---hosts不起作用问题的解决方法
  3. Linux基础(一)流程控制
  4. 如何用html把文本框外观格式设为只显示底部的横线
  5. PHP开启mysqli扩展
  6. BCB6.0 清除TPanel面板上的所有控件
  7. LeetCode21.合并两个有序链表
  8. jQuery-切换事件2
  9. 通过Referer设置来防盗链
  10. windows中查看端口占用情况