【问题标题】:log4j for MyBatis in a JUnit run configuration on EclipseEclipse 上 JUnit 运行配置中 MyBatis 的 log4j
【发布时间】:2013-01-29 16:29:29
【问题描述】:

如何在 Eclipse 上的 JUnit 运行配置中为 MyBatis 配置 log4j

在 SO 和互联网上有几个这样的问题。但是,大多数建议似乎对我不起作用。

具体来说,以下似乎不起作用:(来自 MyBatis 日志记录 page

  1. log4j-1.2.16.jar 在我的 Eclipse 的 Java Build Path Libraries 上(在 Maven 依赖项下)。
  2. log4j.properties 在我的Run Configuration 上。它在 VM 参数下为:-Dlog4j.configuration=C:\log4j.properties
  3. 我的 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


【解决方案1】:

在 VM 参数下为:-Dlog4j.configuration=file:C:\log4j.properties

观察前缀文件:

-湿婆

【讨论】:

    【解决方案2】:

    得到答案: http://mybatis-user.963551.n3.nabble.com/log4j-for-MyBatis-in-a-JUnit-run-configuration-on-Eclipse-tp4026384p4026393.html

    另一种设置类路径的方法如@sivaprasadreddy.k 的回答中所述

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-09
      • 2012-08-13
      • 2016-07-09
      • 1970-01-01
      • 1970-01-01
      • 2015-07-25
      相关资源
      最近更新 更多