可能重复:显示多行文本的每行日志
鉴于 String m = "abc\ncdf";
并将slf4j与log4j一起使用,
如果我在 SomeClass.doSomething()
方法中尝试 logger.debug(m);
该字符串,则将显示新行之后的文本,而不显示标准日志记录前缀:
10:40:35,732 [DEBUG] SomeClass.doSomething():32: abc
cdf
如果我使用util方法拆分字符串并将每行打印为自己的 Logger 调用:
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
2 回答
你应该能够添加“\ r \ n”
如果我站在你的右边你想要一些这样的东西:
把'\ t'(tab)添加到字符串怎么样?