【发布时间】:2013-09-05 14:16:32
【问题描述】:
我正在将代码从 Log4J 迁移到由 logback 1.0.13 支持的 slf4j。
如何将以下代码翻译成 slf4j?
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
// ...
ConsoleAppender stderr = new ConsoleAppender();
stderr.setTarget(ConsoleAppender.SYSTEM_ERR);
stderr.setLayout(layout);
stderr.addFilter(new CurrentThreadLogFilter());
stderr.setThreshold(Level.INFO);
stderr.activateOptions();
Logger loggerRECORD = getLoggerRECORD();
loggerRECORD.setLevel(Level.ALL);
loggerRECORD.setAdditivity(false);
loggerRECORD.addAppender(stderr);
Logger root = LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
root.setLevel(Level.WARN);
root.addAppender(stderr);
// ...
private Logger getLoggerRECORD() {
return LoggerFactory.getLogger("com.company.MyClass");
}
我不知道用什么来代替 setLevel、addAppender 和 setAdditivity 方法。
【问题讨论】:
-
我认为 SLF4J Logger 接口不支持您正在寻找的方法,因为它们是特定于实现的。实际实现(Logback 中的 Logger 类)支持 setLevel() 和 setAdditive()。 getLoggerRECORD() 方法有什么作用?它总是返回一个 Logback 记录器吗?
-
@DariusX。我已经更新了我的问题
标签: java log4j migration slf4j logback