slf4j.Marker不兼容的类型

时间:2018-06-26 00:45:17

标签: java slf4j

我一直在用slf4j这样,一切都很好:

LOGGER.info("classification: {} {} {}", classification, question, id); 

但是突然之间,我不知道导致此错误消息的任何更改:

Error:(50, 25) java: incompatible types: java.lang.String cannot be converted to org.slf4j.Marker

在命令行中,“ mvn clean install”可以正常编译。但是在IntelliJ中,当我尝试启动应用程序时,会弹出上述错误消息。

这是怎么了?

1 个答案:

答案 0 :(得分:1)

似乎您击中了LOGGER.info的其他替代内容:

void info(Marker marker,
        String format,
        Object... arguments)
This method is similar to info(String, Object...) method except that the marker data is also taken into consideration.

https://www.slf4j.org/api/org/slf4j/Logger.html#info(org.slf4j.Marker,%20java.lang.String,%20java.lang.Object...)

Log4jLoggerAdapater之类的基本适配器扩展了MarkerIgnoringBase。 MarkerIgnoringBase没有标记替代。似乎IntelliJ开始使用未扩展MarkerIgnoringBase的适配器。