在ASP.NET Core 2应用程序中,我需要为每个请求提供唯一标识符(例如Guid),以便我可以在每个日志中包含该ID,并了解每个请求的日志顺序。
我自己写这个并不难,但我想知道是否有可以使用的内置功能或ASP.NET Core 2实现此功能。
答案 0 :(得分:8)
您可以使用System.Diagnostics.Activity
班级(source)。来自Activity User Guide
方面的分层Request-Id
Activity.Id
用作HTTP Correlation Protocol
答案 1 :(得分:5)
ASP.NET Core还具有HttpContext.TraceIdentifier
,它唯一地标识当前请求。
它是由Kestrel为每个传入请求生成的,因此不适合将来自另一个服务的调用关联起来,但是适合将单个请求的日志关联在一起,或者关联可能显示给用户的错误消息。具有相应日志的用户。