问题描述
有人可以帮我在 Lombok 中使用 @Slf4j 注释吗?
我更喜欢在我的 SpringBoot 应用程序中记录一些东西。为此,我想使用 Lombok 的 @Slf4j 注释。我在 IntelliJ IDEA 中安装了 Lombok 插件,打开“注释处理”,将 @Slf4j 注释添加到我的类并将 lombok 依赖项添加到我的 pom.xml 文件。现在我可以在类中找到对象“log”,但我不能对其应用任何日志方法(如 error()、debug()、info() 等)。为什么没有找到这些方法?
IntelliJ IDEA 社区 2020.3
Lombok 插件捆绑 203.7717.56
龙目岛 1.18.6
在 pom.xml 中的依赖:
<properties>
<lombok.version>1.18.6</lombok.version>
</properties>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
</dependencies>
登录我的课程:
import lombok.requiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@requiredArgsConstructor
@Service
public class ImportServiceImpl implements ImportService {
...
public void importData() {
log.info("some log");
}
...
}
解决方法
Lombok 本身不带任何日志框架等依赖,需要自己添加日志框架依赖。
例如在您的情况下,添加以下依赖项,它将带来 SLF4J 以及 Logback 作为日志记录实现:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
,
我已经准备好了一切。构建工作正常,我能够在没有任何编译错误的情况下运行应用程序。只是 IDE 在抱怨。
就我而言,我必须使缓存无效。
转到文件 > 使缓存无效(选择“清除文件系统缓存和本地历史记录”)> 使缓存无效并重新启动。
希望有效。