无法访问记录器:"无法解析符号(info | warning | debug)"

时间:2016-12-23 03:45:57

标签: java intellij-idea logback slf4j

我实现SLF4J并重新登录我的Java项目,我认为这是轻而易举的事。它应该是轻而易举的。它不是。

我的困境是:IntelliJ没有认识到我创建的记录器对象存在并且由于该错误而无法构建。这是以下代码。

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Main {
    public static final Logger logger = LoggerFactory.getLogger(Main.class);

    // Will replace with config values
    private static final String token  = "bottoken";
    private static final String prefix = "!";

    logger.info("This info to the left is red");
}

我已尝试按照许多建议失效缓存并删除IntelliJ文件系统,但无济于事。它甚至达到了删除整个项目然后在不同文件夹中重新创建的程度。什么都没有。

在我的图书馆列表中显示项目设置并重新加载Maven项目也没有帮助。

我已经通过Maven添加了SLF4J,如下面的pom.xml所示:

<dependencies>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.22</version>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.22</version>
    </dependency>

    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.1.8</version>
    </dependency>

    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>1.1.8</version>
    </dependency>
</dependencies>

这一切都在列出的库中检出,所有其他依赖项(没有列出)显示并编译正常。

1 个答案:

答案 0 :(得分:2)

您拥有的代码不会将该行包装在方法中。

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Main {
    public static final Logger logger = LoggerFactory.getLogger(Main.class);

    // Will replace with config values
    private static final String token  = "bottoken";
    private static final String prefix = "!";

    public static void main(String[] args) {
        logger.info("This info to the left is red");
    }
}