首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Lombok @Slf4j和接口?

Lombok @Slf4j和接口?
EN

Stack Overflow用户
提问于 2020-10-17 15:30:52
回答 1查看 5.2K关注 0票数 4

我正在尝试将日志添加到我的接口默认方法中。例如:

代码语言:javascript
运行
复制
@Slf4j // not allowed
interface MyIFace {
    default ThickAndThin doThisAndThat() {
        log.error("default doThisAndThat() called"); 
    }
}

问题是我得到了:

@Slf4j仅对类和枚举是合法的。

什么是正确的方法来处理这件事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-17 15:40:29

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

代码语言:javascript
运行
复制
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(YourClass.class);

不能在接口中使用私有关键字。

解决办法是直接编写

代码语言:javascript
运行
复制
interface MyIFace {

   org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(MyIFace.class);

   default ThickAndThin doThisAndThat() {
     log.error("default doThisAndThat() called"); 
   }

}
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64404180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档