【发布时间】:2013-01-29 16:29:29
【问题描述】:
如何在 Eclipse 上的 JUnit 运行配置中为 MyBatis 配置 log4j?
在 SO 和互联网上有几个这样的问题。但是,大多数建议似乎对我不起作用。
具体来说,以下似乎不起作用:(来自 MyBatis 日志记录 page)
-
log4j-1.2.16.jar在我的 Eclipse 的Java Build Path Libraries上(在 Maven 依赖项下)。 - log4j.properties 在我的
Run Configuration上。它在 VM 参数下为:-Dlog4j.configuration=C:\log4j.properties - 我的 log4j.properties 文件包含以下代码。
log4j.rootLogger=ERROR, stdout
log4j.logger.org.mybatis.example.BlogMapper=TRACE
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.properties 文件保留在 Eclipse 类路径中,一切都会奏效。但是,我不确定运行配置 VM 参数是否设置了类路径。
编辑
如果我强制 MyBatis 使用 log4j,
org.apache.ibatis.logging.LogFactory.useLog4JLogging();
控制台输出如下:
log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
【问题讨论】:
-
这些设置后你会得到什么?没有输出或??
-
@JintianDENG 是的,我在控制台上没有任何输出。
-
您将根记录器设置为错误。可能你正在检查 logger.debug() 或 logger.info()..你检查 logger.error("test") 是否在控制台上打印任何内容?
-
@sivaprasadreddy.k 实际上,我并不想自己在控制台上打印任何东西。我有兴趣从 MyBatis 内部日志工厂获取日志。请参阅this 页面。
-
标签: eclipse junit log4j mybatis