Java slf4j记录器信息格式

Java slf4j记录器信息格式,java,apache,logging,Java,Apache,Logging,我试图使用转义字符或xml模式等生成一个“漂亮”的日志消息 我想输出的内容大致如下: ABAS : value B : value Cse : value 我使用\t实现了这一点,但我认为必须有一种更干净的方法。我看过.info,它接受一个参数并使用{}作为插入值的一种方式,但我似乎不知道如何添加换行符或制表符 到目前为止我有 logger.info(A : {} \nBasdas : {} \nC : asds ) and so on. 感谢您的帮助。slf4j是日志前端,仅用于向

我试图使用转义字符或xml模式等生成一个“漂亮”的日志消息

我想输出的内容大致如下:

ABAS : value
B    : value
Cse  : value
我使用\t实现了这一点,但我认为必须有一种更干净的方法。我看过.info,它接受一个参数并使用{}作为插入值的一种方式,但我似乎不知道如何添加换行符或制表符

到目前为止我有

logger.info(A : {} \nBasdas : {} \nC : asds ) and so on.

感谢您的帮助。

slf4j是日志前端,仅用于向后端提供日志级别、消息等,在您的情况下最有可能是回写。您不应该在前端格式化您的消息,因为实际日志输出中需要任何特殊格式,因为正是这种格式可以由您使用的后端自由配置。特别是在一些独立行上的缩进不起作用,因为你不知道行是如何开始的,如果你的日志名称是行的一部分,消息是在一行中打印出来的,等等。只要看看和什么是可能的,作为日志消息发布程序员,您想如何告诉在您的软件的任何环境中运行时使用了哪些可能性?你根本不能,因此不应该假设太多

所以,您想要的是根本不可能的,除了嵌入标签或换行符之外,在slf4j中没有什么可以格式化日志消息的。你也不能指望你的标签页,因为这些标签页如何呈现给查看你日志文件的用户完全取决于文本编辑器或任何用户使用的工具。它甚至可以将制表符转换为空格,以1或10或其他宽度显示它们


可以考虑跨多行的日志语句。

谢谢您的回答。我已经格式化了一个字符串,并暂时将其添加到日志中。它将在演示即将到来时进行代码审查,可能需要放在一行上。再次非常感谢。:)