public void OnActionExecuting(ActionExecutingContext filterContext) { if (!ShouldSaveAudit(filterContext)) { AbpAuditFilterData.Set(filterContext.HttpContext, null); return; } var currentMethodInfo = filterContext.ActionDescriptor.GetMethodInfoOrNull(); var actionStopwatch = Stopwatch.StartNew(); var auditInfo = new AuditInfo { TenantId = AbpSession.TenantId, UserId = AbpSession.UserId, ImpersonatorUserId = AbpSession.ImpersonatorUserId, ImpersonatorTenantId = AbpSession.ImpersonatorTenantId, ServiceName = currentMethodInfo.DeclaringType != null ? currentMethodInfo.DeclaringType.FullName : filterContext.ActionDescriptor.ControllerDescriptor.ControllerName, MethodName = currentMethodInfo.Name, Parameters = ConvertArgumentsToJson(filterContext), ExecutionTime = Clock.Now }; AbpAuditFilterData.Set( filterContext.HttpContext, new AbpAuditFilterData( actionStopwatch, auditInfo ) ); }
public void OnActionExecuted(ActionExecutedContext filterContext) { var auditData = AbpAuditFilterData.GetOrNull(filterContext.HttpContext); if (auditData == null) { return; } auditData.Stopwatch.Stop(); auditData.AuditInfo.ExecutionDuration = Convert.ToInt32(auditData.Stopwatch.Elapsed.TotalMilliseconds); auditData.AuditInfo.Exception = filterContext.Exception; _auditingHelper.Save(auditData.AuditInfo); }
public void OnActionExecuted(ActionExecutedContext filterContext) { var auditData = AbpAuditFilterData.GetOrNull(filterContext.HttpContext); if (auditData == null) { return; } auditData.Stopwatch.Stop(); auditData.AuditInfo.ExecutionDuration = Convert.ToInt32(auditData.Stopwatch.Elapsed.TotalMilliseconds); auditData.AuditInfo.Exception = filterContext.Exception; if (_auditingConfiguration.SaveReturnValues && filterContext.Result != null) { switch (filterContext.Result) { case AbpJsonResult abpJsonResult: if (abpJsonResult.Data is AjaxResponse ajaxResponse) { auditData.AuditInfo.ReturnValue = _auditSerializer.Serialize(ajaxResponse.Result); } else { auditData.AuditInfo.ReturnValue = _auditSerializer.Serialize(abpJsonResult.Data); } break; case JsonResult jsonResult: auditData.AuditInfo.ReturnValue = _auditSerializer.Serialize(jsonResult.Data); break; case ContentResult contentResult: auditData.AuditInfo.ReturnValue = contentResult.Content; break; } } _auditingHelper.Save(auditData.AuditInfo); }
public void OnActionExecuting(ActionExecutingContext filterContext) { if (!ShouldSaveAudit(filterContext)) { AbpAuditFilterData.Set(filterContext.HttpContext, null); return; } var auditInfo = _auditingHelper.CreateAuditInfo( filterContext.ActionDescriptor.GetMethodInfoOrNull(), filterContext.ActionParameters ); var actionStopwatch = Stopwatch.StartNew(); AbpAuditFilterData.Set( filterContext.HttpContext, new AbpAuditFilterData( actionStopwatch, auditInfo ) ); }
public static void Set(HttpContextBase httpContext, AbpAuditFilterData auditFilterData) { GetAuditDataStack(httpContext).Push(auditFilterData); }