slf4j记录器信息格式

时间:2015-06-22 11:11:37

标签: java apache logging

我试图产生一个很好的'使用转义字符或xml模式等记录消息。

我想输出的内容是:

ABAS : value
B    : value
Cse  : value

我已经使用\ t实现了这个目标,但我认为必须有一个更清洁的方式。我查看了.info,它接受了一个参数并使用{}作为插入值的方法,但我似乎无法找到如何添加换行符或标签。

到目前为止我已经

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

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

slf4j是日志前端,仅用于向后端提供日志级别,消息等,很可能是您的情况下的logback。您不应该在前端格式化您希望在实际日志输出中使用任何特殊格式的消息,因为正好可以由后端使用一些自由配置。特别是某些独立行的缩进不起作用,因为你不知道行是如何开始的,如果你的记录器名称是行的一部分,msg是在一行中打印的,那就是所有东西。只需看看logback configuration以及可能的内容,您想如何告诉日志消息发出程序员在运行期间在软件的任何环境中使用哪些可能性?你根本不能,因此不应该假设太多。

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

跨越多行的日志语句可能会被视为bad practice