簡體   English   中英

在通過 Lombok 的“@Slf4j”注釋創建的“log”object 中找不到 error()、debug()、info() 方法

[英]Can't find error(), debug(), info() methods in 'log' object which is created via Lombok's '@Slf4j' annotation

有人可以幫助我在 Lombok 中使用 @Slf4j 注釋嗎?

我更喜歡在我的 SpringBoot 應用程序中記錄一些東西。 為此,我想使用 Lombok 的 @Slf4j 注釋。 我在我的 IntelliJ IDEA 中安裝了 Lombok 插件,打開“注釋處理”,將 @Slf4j 注釋添加到我的 class 並將 lombok 依賴項添加到我的 pom.xml 文件中。 現在我可以在 class 中找到 object 的“日志”,但我無法對其應用任何日志方法(如 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>

登錄我的 class:

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 在抱怨。

就我而言,我必須使緩存無效。

Go 到 File > Invalidate Caches(選擇“Clear file system caches and local history”)> Invalidate and Restart。

希望有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM