Serilog 调用链追踪 —— 通过动态添加自定义属性 CallId

原理:在需要追踪的函数入口处动态添加属性 CallId,则该函数和该函数调用的函数使用 Log.xxx 时会有属性 CallId。

注:通过 using 的使用,可以在跳出函数时自动移除属性 CallId。

代码示例:

public bool UsbRegRead(uint regAddr, ref uint regData)
{
  using (LogContext.PushProperty("CallId", Guid.NewGuid().ToString()))
  {
    Log.Information("UsbRegRead() <<");
    
    // ... 具体逻辑

    Log.Information("UsbRegRead() >>");
  }
}

 

参考如下:

Serilog 调用链追踪 —— 通过动态添加自定义属性 CallId

 

 

  

参考:官方教程

 

  

 

上一篇:.NET Worker Service 添加 Serilog 日志记录


下一篇:Serilog appsettings.json 配置