Lombok @Slf4j 和接口?

pir*_*rho 0 java logging slf4j lombok default-method

我正在尝试将日志记录添加到我的界面默认方法中。例如:

@Slf4j // not allowed
interface MyIFace {
    default ThickAndThin doThisAndThat() {
        log.error("default doThisAndThat() called"); 
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是我得到:

@Slf4j 仅在类和枚举上合法。

处理这个问题的正确方法是什么?

And*_*rov 5

您不能在此处使用 Lombok,因为注释会生成:


private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(YourClass.class);

Run Code Online (Sandbox Code Playgroud)

您不能在接口中使用private关键字。

解决方法是直接写


private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(YourClass.class);

Run Code Online (Sandbox Code Playgroud)