我在这里看到的答案与""用什么标记,(例如this one),但只是想知道人们对这个潜在用例的看法对于标记。通常会看到记录消息,如:
logger.info("--initialize(): starting up the server.");
即。方法名称在消息中的位置。我们在新应用中使用JSON日志记录,并且我正在使用logstash encoder,因为logstash是后端。在这种情况下,使用标记根据需要添加方法名称似乎更容易 - 例如类似的东西:
logger.info(append("method-name", "initialize"), "starting up the server.");
这将使它成为根json消息的一部分,如" method-name":" initialize"," msg":"启动服务器&#34 ;.这更容易解析,因为logstash只会吸收这些消息。
我知道logstash编码器有一个includeCallerInfo设置来自动反映方法名称,但这可能很昂贵,因此不建议用于生产。
我想我的问题是,上述方法看起来不错吗?是否有隐藏的成本/障碍我不知道?这是一个可怕的误用标记的意思吗?
修改 对于那些不熟悉它的人,append(..)是logstash encoder提供的静态帮助方法之一。它允许您将标记记录为键值对以与消息关联。请参阅this link for details。