【问题标题】:log4j2 causes error - "The method info(Message) is ambiguous for the type Logger"log4j2 导致错误 - “方法 info(Message) 对于 Logger 类型不明确”
【发布时间】:2018-05-31 21:53:34
【问题描述】:

下面提到的方法适用于 SLF4J (org.slf4j.Logger)。我用 LOG4J2 替换了 SLF4J。

import org.apache.logging.log4j.Logger;
import static org.mockito.Mockito.*;

@Test
public void someTestMethod() {
    // Test Class related code. 
    Logger logger = mock(Logger.class);
    verify(logger, times(1)).info(any());
}

此测试给出编译时错误 - “方法信息(消息)对于类型记录器不明确”。

关于如何解决这个问题有什么建议吗?

【问题讨论】:

    标签: java logging log4j slf4j log4j2


    【解决方案1】:

    这背后的原因是java编译器试图找出具有最具体输入参数的方法来调用方法。
    方法 info() 将字符串作为特定对象,但您将 Object 传递给它。将任何字符串对象传递给它,将解决您的问题。

    【讨论】:

      猜你喜欢
      • 2016-04-06
      • 2014-09-14
      • 1970-01-01
      • 2016-06-14
      • 2010-12-21
      • 1970-01-01
      • 2016-05-08
      • 2021-12-03
      • 2016-02-06
      相关资源
      最近更新 更多