本帖最后由 forgottenp 于 2012-04-13 11:21:30 编辑

解决方案 »

  1.   

    一般其实是上层(就是你调用的)函数就已经调用log4j了,你不能假定只有你自己能调用log4j啊。
      

  2.   

    不是,没有调用吧.我的只是
    try{getHibernateTemplate().find(hql);},然后由于hql譬如有个字段没有,就会自动写进LOG4J的日志.还有譬如如果启动服务的时候,连不上数据库,也是会自动写进去的.这些莫非是Spring的问题,或者Hibernate的问题吗?谢谢你的回答,请问有人知道么
      

  3.   

    try{getHibernateTemplate().find(hql);}
    Hibernate发现有问题的时候,本来就会自动记录日志,而且也是可配置的。
    也就是find里面会去记录日志。至于连接不上数据库,则有两种情况,一种是第三方连接池会记录日志,另一种是Hibernate也会记录日志。出现问题而不记录日志的组件,本身就是不合格的组件。
      

  4.   

    难道是Hibernate里面的代码,有监听是否有Log4j,然后有就写?不会这么诡异吧.....我直接用log4j.logger.org.hibernate=FATAL,屏蔽了Hibernate的Error信息了=.= 反正HIbernate的Exception都是继承RuntimeException的,都会抛出来的.............继续等待还有没有牛人指导,谢谢楼上了
      

  5.   

    Hibernate本来就依赖Log4j的包,啥叫“监听是否有Log4j”