可能重复:
为多行文本每行显示一个日志
给定String m = "abc\ncdf";
并使用 slf4j 和 log4j,
如果我尝试logger.debug(m);
在方法中使用该字符串SomeClass.doSomething()
,则将显示新行之后的文本而没有标准的日志记录前缀:
10:40:35,732 [DEBUG] SomeClass.doSomething():32: abc
cdf
如果我使用 util 方法来拆分字符串并将每一行打印为自己的记录器调用:
class PrintUtil {
public static void print(String s) {
for(String line : s.split("\\n"))
logger.debug(line);
}
}
并更改SomeClass.doSomething()
为 callPrintUtil.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