簡體   English   中英

lombok 日志注釋不適用於 static 方法

[英]lombok log annotation is not working for static methods

我正在嘗試使用 lombok 的 @Slf4j 注釋。 它適用於非靜態方法,但我無法將它們用於 static 方法,例如:

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class MyClass {

    public static void staticMethod() {
        log.info(""); //build error
        //code
    }

    public void nonStaticMethod() {
        log.info(""); //builds ok
        //code
    }

更具體地說,構建錯誤是:

Error:(17, 9) java: non-static variable log cannot be referenced from a static context

所以要么我遺漏了一些東西,要么這根本不是這樣做的方法,但讓我有些困惑的是,其他答案似乎表明這種用法是正確的。 有誰知道我做錯了什么? 謝謝您的幫助。

與 Delombok 核實在您的情況下 lombok 究竟會生成什么。

通常記錄器應該是一個 static 字段。

但是有一個配置:

lombok.log.fieldIsStatic = [true | false] (default: true)

從文檔中:通常生成的記錄器是 static 字段。 通過將此鍵設置為 false,生成的字段將改為實例字段。

當然,如果該字段是非靜態的,則不能像往常一樣在 java 中從 static 方法中使用它

文檔鏈接

暫無
暫無

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

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