public override void OnActionExecuting(HttpActionContext filterContext) { if (!_isEnable) { return; } _startExecute = DateTime.UtcNow; lock (_locker) { try { Log onExecLog = new Log { RequestType = filterContext.Request.Method.ToString(), Response = "OnActionExecuting Event", ExecutionTime = 0 }; var currentUser = ((BaseController)filterContext.ControllerContext.Controller).CurrentUser; onExecLog.UserId = currentUser != null ? currentUser.Id : 0; #region Getting query params var queryStringParams = filterContext.Request.GetQueryNameValuePairs(); var formParams = filterContext.ActionArguments; var totalParams = new Dictionary <string, string>(); if (queryStringParams != null && queryStringParams.Count() > 0) { foreach (var param in queryStringParams) { try { totalParams.Add(param.Key, param.Value); } catch { } } } if (formParams != null && formParams.Count > 0) { foreach (var param in formParams) { string value = new JavaScriptSerializer().Serialize(param.Value); try { totalParams.Add(param.Key, value); } catch { } } } var actionParameters = string.Join(",", totalParams .Where(p => p.Key != "__RequestVerificationToken" && !p.Value.ToLower().Contains("password")) .Select(p => string.Concat(p.Key, "=", p.Value))); onExecLog.InputParameters = actionParameters; #endregion AddLog(onExecLog); } catch (Exception log) { _log.Error(log); _messageService.AddErrorMessage(log.Message); } } }