【发布时间】:2021-01-31 20:42:06
【问题描述】:
我正在尝试将日志记录添加到我的界面默认方法中。例如:
@Slf4j // not allowed
interface MyIFace {
default ThickAndThin doThisAndThat() {
log.error("default doThisAndThat() called");
}
}
问题是我得到了:
@Slf4j 仅在类和枚举上是合法的。
处理这个问题的正确方法是什么?
【问题讨论】:
-
throw UnsupportedOperationException("default doThisAndThat()")可能比记录错误更好。如果该方法未在类中实现并被调用,则异常会阻止代码继续执行,就好像没有出现任何问题一样,而日志记录让代码静默继续,然后也许有人最终会阅读日志并意识到某些事情是可怕的错误用代码。 -
@Andreas 是的,你是对的,但实际上它只是记录任何内容,而不仅仅是错误。所以我选择记录 error 是我的错 :)
标签: java logging slf4j lombok default-method