java mybatis isTraceEnabled()Z错误

时间:2014-09-18 08:25:03

标签: java logging log4j mybatis

在控制台上打印mybatis SQL语句时出现此错误:

java.lang.NoSuchMethodError: org.apache.log4j.Logger.isTraceEnabled()Z

我使用mybatis支持的log4j。

我的log4j.properties文件:

### Global logging configuration
log4j.rootLogger=INFO, stdout

log4j.logger.com.app.mybatis.dao=stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

奇怪的是,如果我指定要记录的类,例如

log4j.logger.com.app.mybatis.dao.MyClass=stdout

它工作正常但不适用于包装。知道会导致这种情况的任何想法吗?

2 个答案:

答案 0 :(得分:1)

您需要将log4j升级到版本 1.2.12 +

自版本1.2.12以来添加了org.apache.log4j.Logger.isTraceEnabled()方法,包括org.apache.log4j.Level.TRACE


*目前,最新版本为1.2.17

答案 1 :(得分:0)

我使用

解决了这个问题
  

org.apache.ibatis.logging.LogFactory.useCustomLogging

方法并将参数作为扩展Log4jImpl类的自定义日志记录类。我重写了isTraceEnabled方法。因此不再调用错误给予方法。