【问题标题】:Log4j2 configuration locationLog4j2 配置位置
【发布时间】:2018-05-17 18:48:46
【问题描述】:

我正在使用启用了 log4j 日志记录的 Spring Boot 应用程序。 当我运行我的 Spring Boot 应用程序时,一切都很好,我看到了正确布局的日志行。但是,当我运行测试时,我得到:

log4j:WARN 找不到记录器的附加程序 (be.delijn.ritsimulator.util.LoadTimeTest)。 log4j:WARN 请正确初始化 log4j 系统。 log4j:WARN 请参阅http://logging.apache.org/log4j/1.2/faq.html#noconfig 了解更多信息。

我已尝试将 log4j2.xml 文件移动到类路径上的每个可能位置,但我似乎无法解决此问题。我把它放在根目录下,资源等下。 我只想拥有 1 个 log4j2.xml 文件,而不是一个用于 main 和一个用于测试。 另外,我不想使用系统属性来设置它。

这可能吗? 如果是这样,我该如何实现?

提前致谢! 问候

【问题讨论】:

  • 如何运行测试?
  • 通过 Intellij > 运行测试(Ctrl + Shift + F10)
  • 您没有覆盖任何 vm 参数?你正在运行什么测试?有什么特殊的测试配置吗?
  • 我没有设置任何 VM 参数。这些测试是普通的旧 jUnit 测试,没有任何特殊配置。
  • 你在 src/test 下的测试?

标签: java spring spring-boot log4j log4j2


【解决方案1】:

您看到的警告是 Log4j 1.2 警告。在你的类路径中的某个地方有一个 log4j-1.2.x.jar 在 Log4j2 jar 之前被加载。这是不好的。

请删除 log4j-1.2.x.jar 并添加 log4j-1.2-api-2.x.jar:这是一个兼容性 jar,它将 log4j 1.2 API 调用路由到 Log4j2 实现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-06
    • 2013-04-09
    • 2014-10-18
    • 2015-09-24
    • 2013-12-20
    • 2018-08-11
    • 2016-07-04
    • 1970-01-01
    相关资源
    最近更新 更多