原理:在需要追踪的函数入口处动态添加属性 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() >>");
}
}
参考如下:
参考:官方教程