using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Filters; using Newtonsoft.Json; using Serilog; using System; using System.Collections.Generic; using System.Text; namespace Utility { public class RequestAuditLogFilter : IResultFilter { private readonly IDiagnosticContext _diagnosticContext; public RequestAuditLogFilter(IDiagnosticContext diagnosticContext) { _diagnosticContext = diagnosticContext; } public void OnResultExecuted(ResultExecutedContext context) { var result = context.Result as ObjectResult; var resultJson = JsonConvert.SerializeObject(result?.Value); _diagnosticContext.Set("_ResponseBody", resultJson); } public void OnResultExecuting(ResultExecutingContext context) { } } }