繁体   English   中英

slf4j 记录器信息格式

[英]slf4j logger info format

我正在尝试使用转义字符或 xml 模式等生成“不错”的日志消息。

我想输出的是以下内容:

ABAS : value
B    : value
Cse  : value

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

到目前为止我有

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

谢谢你的帮助。

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

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

跨越多行的日志语句可能被认为是不好的做法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM