到目前为止,我一直在研究java 7,最近我转到了java-8,令人惊讶的是,您可以在java-8接口中使用add methods。
到目前为止,good....loved这个新的东西!
现在,我的问题是,logging是任何开发中必不可少的一部分,但似乎lombok.extern.slf4j不允许您通过接口方法添加log内容,因为它只允许在classes和enums上使用。
您如何log您的接口方法(如果通过lombok或is this的唯一方式??)?还是接口方法不应该被记录?我在这里错过了什么?
记者:目前我和System.out.println一起工作.yeah...thats noob :)
发布于 2018-02-13 05:47:20
您可以手动将记录器添加到您的界面,但是您的记录器将是公共的:
public interface SomeInterface {
Logger log = LoggerFactory.getLogger(SomIface.class);
default void action() {
log.info("TEST");
}
}发布于 2019-08-13 06:56:15
目前,Lombok @Slf4j注释在接口上不受支持,但可以像这样绕过它
public interface MyInterface
{
@Slf4j
final class LogHolder
{}
default void action() {
LogHolder.log.error("Error TEST");
}
}发布于 2018-02-13 11:48:11
日志记录是一个实现细节,所以接口不应该处理它。如果将日志记录视为接口的责任,则会导致几个问题。例如:
你可以用的是:
https://stackoverflow.com/questions/48759353
复制相似问题