鑑於String m = "abc\ncdf";
並使用與log4j的SLF4J,
如果我嘗試logger.debug(m);
該字符串SomeClass.doSomething()
方法裏面,新行後面的文本將不顯示標準日誌前綴:
10:40:35,732 [DEBUG] SomeClass.doSomething():32: abc
cdf
如果我使用一個實用程序的方法來分割字符串並打印每一行作爲自己的記錄通話:
class PrintUtil {
public static void print(String s) {
for(String line : s.split("\\n"))
logger.debug(line);
}
}
,改變SomeClass.doSomething()
打電話PrintUtil.print(m);
然後我失去了原有的類信息:
10:40:35,737 [DEBUG] PrintUtil.print():45: abc
10:40:35,737 [DEBUG] PrintUtil.print():45: cdf
是否可以在不丟失調用類/方法信息的情況下打印多行字符串?
爲了澄清,所需的輸出將是:
10:40:35,732 [DEBUG] SomeClass.doSomething():32: abc
10:40:35,732 [DEBUG] SomeClass.doSomething():32: cdf
我編輯的問題,包括我試圖創建 – Alex 2012-07-31 16:12:43
你可以添加你的功能所需的數據輸出。您應該能夠檢查堆棧並找出誰調用了PrintUtil.print()函數。快速谷歌搜索給我:http://www.javalobby.org/java/forums/t67019.html。不那麼英俊,但應該工作。 – elyashiv 2012-07-31 17:09:48