Java slf4j.标记不兼容类型
我一直以这种方式使用slf4j,一切都很好:Java slf4j.标记不兼容类型,java,slf4j,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”编译良好。但在I
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中,当我尝试启动应用程序时,上面的错误消息会弹出
这里出了什么问题?似乎您点击了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.
Log4jLoggerAdapater等基本适配器扩展了MarkerIgnoringBase。MarkerIgnoringBase没有标记重写。IntelliJ似乎开始使用不扩展MarkerIgnoringBase的适配器 我有很多LOGGER.info()用法,今天突然都报告了这个错误。问题是为什么它现在调用信息(标记,…)版本?分类、问题、id的类型是什么?都是绳子还是别的什么?是的。所有这些都是Java字符串。您可以中断点并检查记录器实现吗。Log4jLoggerAdapater等基本适配器扩展了MarkerIgnoringBase。MarkerIgnoringBase没有标记重写。似乎IntelliJ开始使用不扩展MarkerIgnoringBase的适配器。我为您感到高兴:)