我想將帶有Logback的slf4j改造爲遺留應用程序。好的是,遺留應用程序有它自己的日誌框架。所以我所要做的就是改變日誌框架來記錄到slf4j而不是log4j。包裝slf4j API
它像夢一樣工作。我很高興,直到我注意到Logback記錄的每個日誌事件的位置:
Logger.java:...
Yikes!當試圖找出日誌事件來自何處時,這並不會幫助我的開發人員。
我該如何告訴Logback在堆棧中查找幾個級別以記錄實際位置?
Logger類是一個實用工具類,像這樣的方法:
public static void debug(String clazz, String message) {
org.slf4j.Logger logger = LoggerFactory.getLogger(clazz);
logger.debug(message);
}
類似的問題:HTTP:// stackoverflow.com/questions/1486233/java-logging-show-the-source-line-number-of-the-caller-not-the-logging-helper-m – Thilo 2010-08-16 09:05:41
當它使用log4j時做了這項工作?我想,當你更新一個現有的日誌記錄類時,你並沒有在調用堆棧中添加額外的框架,所以log4j版本應該表現出同樣的問題。 – Thilo 2010-08-16 09:07:18
log4j在其公共API中公開了一個日誌方法,它在堆棧中查找額外的幀,而slf4j則沒有。所以是的,它使用log4j。 – 2010-08-16 09:24:05