首页 > 解决方案 > 在 ASP.NET Core 应用程序中使用 serilog 时,日志条目中的 ActionId 是什么?

问题描述

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

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

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

我注意到ActionId相同的情况可能会有所不同,ActionName但它到底代表什么?ActionId当我搜索我的日志时,有什么用处?

标签: asp.net-coreserilogseq

解决方案


它只是asp.net 核心为您的应用程序生成的唯一ActionDescriptor 。

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

我注意到ActionId相同的情况可能会有所不同ActionName

ActionId将在整个应用程序生命周期中存活,但是当您重新部署应用程序时,它会ActionDescriptor被初始化。因此,差异 ID。

ActionId当我搜索我的日志时有什么用处

显然,搜索日志的更好方法(例如使用弹性时)fields.ActionId: "YourActionIdHere"将为您提供所有涉及 Action 方法的请求。

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


推荐阅读