以编程方式从Serilog获取相关Id的值

时间:2015-09-25 03:58:08

标签: c# asp.net-web-api serilog

我正在使用Serilog登录我的Web API项目,安装了web classic nuget包我只需要为每个请求记录一个唯一的GUID值。 无论如何,从我的Logger那里获取该值?我知道,无论何时我写入文件都应该写入它,但我想从记录器上下文中读取它,无论如何都要这样做吗?

1 个答案:

答案 0 :(得分:0)

没有支持/直接的方法(可能有一些黑客攻击,你需要阅读 SerilogWeb.Classic 包的源代码来解决这个问题)。

如果您向管道添加ILogEventEnricher,它可以检查请求期间发出的LogEvent并在此时检索HttpRequestId - 但我不确定是否这样在你的场景中很有用。