Log4j2注释从Intellij获取错误

时间:2016-02-17 19:44:38

标签: intellij-idea gradle groovy log4j2

在Intellij中使用Log4j2进行groovy / gradle项目时,日志显示为红色,就像注入不起作用一样。 Gradle运行并构建,但IntelliJ中的每个文件都显示出令人讨厌的错误。

依赖

$FILE

来源

compile 'org.codehaus.groovy:groovy-all:2.4.4'
compile 'org.apache.logging.log4j:log4j-api:2.5'
compile 'org.apache.logging.log4j:log4j-core:2.5'
来自log.error的

日志显示为红色并显示错误,无法解析符号'log' log4j2.xml文件位于类路径中并且有效。 @ Log4j甚至@Slf4j都有效 使用IntelliJ 15.03构建IU-143.1821 Project正在使用Groovy 2.4.4和Gradle 2.3

有人想到吗?

2 个答案:

答案 0 :(得分:0)

对于将来的读者:

https://projectlombok.org/features/log

上面的url具有如下所示的文档:

@Log4j2
Creates private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LogExample.class);

但是,您也可以“覆盖”日志的名称。

示例:

文件名如下:

  

\ lombok.config

和类似的内容:

lombok.addLombokGeneratedAnnotation=true
lombok.log.fieldName=LOGGER

在我的情况下,出现错误是因为我没有在fieldName LOGGER上看到“替代”。 :(


其他提示:

确保插件版本与您的IntelliJ版本匹配。

确保将注释设置为“自动生成”。

确保已安装插件!

您可以在这里找到大多数这些提示:

Adding Lombok plugin to IntelliJ project

答案 1 :(得分:0)

使用groovy的@Log4j2批注时出现此错误。

solution排除了gradle中的以下模块:

configurations.all {
  exclude module: 'log4j-to-slf4j'
}