在ASP中使用serilog时,日志条目中的ActionId是什么?. NET Core应用程序? &



查看由serilog创建的日志,我看到ActionId值是某种类型的GUID。我知道这是由ASP添加的。. NET Core应用程序的默认值,但这个值到底是什么?

日志条目的一个示例包含以下条目(在其他条目中):

ActionId: 1fbc88fa-42db-424f-b32b-c2d0994463f1
ActionName: /Index

我注意到对于相同的ActionName,ActionId可以是不同的,但它究竟代表什么?当我搜索日志时,ActionId有什么好的用途呢?

这只是asp.net core为你的应用生成的唯一ActionDescriptor。

我不太确定你为什么对这个好奇…但这证明了我在说什么。

我注意到ActionId可以不同于相同的ActionName

ActionId将在整个应用程序生命周期中有效,但是当您重新部署应用程序时,ActionDescriptor被初始化。因此,差分Id.

当我搜索我的日志时,ActionId可以用于什么好用途

显然是一个更好的方式来搜索你的日志,就像使用elastic一样,fields.ActionId: "YourActionIdHere"会给你所有的请求,触摸Action方法。

当然,当你看到差异ActionId时,意味着你的应用程序被重新部署了。但实际上……我从来没有使用过,因为我们已经计划好了应用程序发布的内容和时间。

最新更新