Java "Cache" 界面中的 SLF4J 记录器
Java "Cache" SLF4J Logger in Interface
我正在实现一个包含日志例程的接口。因此我想 "cache" 界面内部的记录器。
看起来像这样。
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.function.Supplier;
interface ILogger {
public static final Logger logger = LoggerFactory.getLogger(this.getClass().getName());
default void debug() {
// do sth with logger
}
}
但我不能在静态方法中使用它。
如何将我的记录器存储在字段中,这样我就不必每次使用调试方法时都查找它?
使用静态 class 引用获取名称:
interface ILogger {
Logger logger = LoggerFactory.getLogger(ILogger.class.getName());
default void debug(String message) {
logger.debug(message);
}
}
我正在实现一个包含日志例程的接口。因此我想 "cache" 界面内部的记录器。
看起来像这样。
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.function.Supplier;
interface ILogger {
public static final Logger logger = LoggerFactory.getLogger(this.getClass().getName());
default void debug() {
// do sth with logger
}
}
但我不能在静态方法中使用它。
如何将我的记录器存储在字段中,这样我就不必每次使用调试方法时都查找它?
使用静态 class 引用获取名称:
interface ILogger {
Logger logger = LoggerFactory.getLogger(ILogger.class.getName());
default void debug(String message) {
logger.debug(message);
}
}