其他分享
首页 > 其他分享> > Serilog 调用链追踪 —— 通过动态添加自定义属性 CallId

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() >>");
  }
}

 

参考如下:

 

 

  

参考:官方教程

 

  

 

标签:Information,Log,自定义,Serilog,CallId,函数,UsbRegRead,属性
来源: https://www.cnblogs.com/dhqy/p/14704405.html