【发布时间】:2010-08-16 08:52:56
【问题描述】:
我想将带有 Logback 的 slf4j 改造为旧版应用程序。好消息是,遗留应用程序有自己的日志框架。所以我所要做的就是改变日志框架以记录到 slf4j 而不是 log4j。
它像梦一样工作。我很高兴,直到我注意到 Logback 为每个日志事件记录的位置:
Logger.java:...
哎呀!在尝试找出日志事件的来源时,这对我的开发人员同伴帮助不大。
我如何告诉 Logback 在堆栈中向上查找几级以找到要记录的实际位置?
记录器类是一个实用类,其方法如下:
public static void debug(String clazz, String message) {
org.slf4j.Logger logger = LoggerFactory.getLogger(clazz);
logger.debug(message);
}
【问题讨论】:
-
在使用 log4j 的时候有这个工作吗?我认为由于您更新了现有的日志记录类,因此您没有向调用堆栈添加额外的帧,因此 log4j 版本应该出现同样的问题。
-
log4j 在其公共 API 中公开了一个日志方法,该方法在堆栈中查找额外的帧,而 slf4j 没有。所以是的,它适用于 log4j。