在 SpringBoot 应用程序中为 Java 使用简单日志记录门面
Using Simple Logging Facade for Java n a SpringBoot app
我想使用@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 {
..
}
我相信@Slf4j 注释实际上不是来自 Slf4j,而是来自 Lombok。请看这个 link 似乎提供了一个很好的模板,可以从 https://howtodoinjava.com/spring-boot2/logging/logging-with-lombok/
开始
如果您查看 Application.java 的摘录。注释的导入来自 lombok
import lombok.extern.slf4j.Slf4j;
注释@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 引导的情况下,父 POM 可能已经指定了版本。那就不用再声明具体的版本了
参见:
https://projectlombok.org/features/log
https://projectlombok.org/api/lombok/extern/slf4j/Slf4j.html
我想使用@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 {
..
}
我相信@Slf4j 注释实际上不是来自 Slf4j,而是来自 Lombok。请看这个 link 似乎提供了一个很好的模板,可以从 https://howtodoinjava.com/spring-boot2/logging/logging-with-lombok/
开始如果您查看 Application.java 的摘录。注释的导入来自 lombok
import lombok.extern.slf4j.Slf4j;
注释@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 引导的情况下,父 POM 可能已经指定了版本。那就不用再声明具体的版本了
参见:
https://projectlombok.org/features/log
https://projectlombok.org/api/lombok/extern/slf4j/Slf4j.html