2 回答

TA貢獻1843條經驗 獲得超7個贊
最后,我通過添加操作過濾器并向 Serilog 的 LogContext 添加屬性來修復此問題,如下所示:
public class LoggingPropertiesFilter : IActionFilter
{
public void OnActionExecuting(ActionExecutingContext context)
{
// Do something before the action executes.
ControllerBase controllerBase = context.Controller as ControllerBase;
if(controllerBase != null)
{
var routeAction = controllerBase.RouteData.Values["action"];
LogContext.PushProperty("method", routeAction);
}
}
public void OnActionExecuted(ActionExecutedContext context)
{
// Do something after the action executes.
}
}
到目前為止,我遇到的唯一問題是我必須手動為每個操作附加一個屬性才能使其工作,但這確實解決了我遇到的最初問題(如果它對任何人都有用的話)。
- 2 回答
- 0 關注
- 148 瀏覽
添加回答
舉報