【发布时间】:2016-08-20 01:52:16
【问题描述】:
我正在开发一个 http api 项目,我想实现一件事,但我还没有找到方法。 所以,在我的例子中,我发送了一个事务 id 请求,我想做的事情是获取这个事务 id 并在记录器中使用它,在当前请求的每个日志条目中添加这个信息。如果发生某些问题,当我想检索信息时,我想这样做以便更好地过滤我的日志。
例如,我的交易 ID 是 foo :
api | [GIN] 2016/08/19 - 13:00:37 | 201 | 30.791855ms | 192.168.99.1:63922 | POST /v1/my/endpoint
api | time="2016-08-19T13:00:39Z" level=info msg="Authenticated API user: tests" transactionId="foo"
api | time="2016-08-19T13:00:39Z" level=debug msg="SQL query" args=25 query=" SELECT id, created, information1, information2 FROM mydb.mytable WHERE id = ?; " transactionId="foo"
这是我希望在日志中包含的信息。
所以不是在每个日志调用中注入事务 id,我想知道是否有一种方法可以将记录器用作单例并在每次调用记录器时添加信息。
我希望我在这个问题中提供了足够的细节。
谢谢。
【问题讨论】: