【问题标题】:Using Simple Logging Facade for Java n a SpringBoot app在 SpringBoot 应用程序中使用 Java 的 Simple Logging Facade
【发布时间】:2020-03-12 09:25:01
【问题描述】:

我想使用@Slf4j注解,所以我在我的pom.xml文件中导入了这个依赖

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

但我有错误无法解析符号Slf4j

@Service
@Slf4j
@Transactional(readOnly = true)
public class PasswordResetTokenService {
..
}

【问题讨论】:

    标签: java spring spring-boot slf4j slf4j-api


    【解决方案1】:

    我相信@Slf4j 注释实际上不是来自 Slf4j,而是来自 Lombok。请看这个链接,它似乎提供了一个很好的模板,从https://howtodoinjava.com/spring-boot2/logging/logging-with-lombok/开始

    如果您查看 Application.java 的摘录。注释的导入来自 lombok

    导入 lombok.extern.slf4j.Slf4j;

    【讨论】:

      【解决方案2】:

      注解@Slf4j 是Lombok 注解,不存在于slf4j 依赖中。

      如果您想使用此注解而不是声明记录器字段,则需要向 Lombok 添加额外的依赖项:

      <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
      <dependency>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok</artifactId>
          <version>1.18.10</version>
          <scope>provided</scope>
      </dependency>
      

      在 Spring Boot 的情况下,父 POM 可能已经指定了版本。那么你就不需要再声明具体的版本了。

      见:

      https://projectlombok.org/features/log

      https://projectlombok.org/api/lombok/extern/slf4j/Slf4j.html

      【讨论】:

        猜你喜欢
        • 2010-10-26
        • 2011-08-02
        • 2017-10-20
        • 2020-07-03
        • 2021-01-15
        • 1970-01-01
        • 2023-01-08
        • 2019-10-16
        • 1970-01-01
        相关资源
        最近更新 更多