如何在Logback/SLF4J中记录多行文本?

Kry*_*ian 7 logging logback slf4j

我想使用Logback/SLF4J记录"漂亮打印"的XML.现在,我在日志中得到的东西是完全不可读的,我必须打开一些东西来解析它.我希望能够为调试配置日志记录(因为我只想在调试中看到XML)以人类可读的方式输出XML.

可能吗?

Tom*_*icz 13

只需\n在日志语句中添加换行符:

log.info("Message id: {}\nContents: {}", id, xml);
Run Code Online (Sandbox Code Playgroud)

更新:为了精美打印XML,请看:如何从Java中打印XML?.需要注意的一点是,如果不打算实际打印XML,则无需执行昂贵的格式化.因此,这是is*Enabled()应该使用的罕见情况之一:

if(log.isInfoEnabled())
  log.info("Message: {}", prettyFormat(xml));
Run Code Online (Sandbox Code Playgroud)