public override void OnActionExecuted(ActionExecutedContext context) { base.OnActionExecuted(context); if (!IsLog) { return; } Stopwatch.Stop(); var url = context.HttpContext.Request.Path + context.HttpContext.Request.QueryString; var method = context.HttpContext.Request.Method; var qs = ActionArguments; var user = ""; //检测是否包含'Authorization'请求头,如果不包含则直接放行 if (context.HttpContext.Request.Headers.ContainsKey("Authorization")) { var tokenHeader = context.HttpContext.Request.Headers["Authorization"]; tokenHeader = tokenHeader.ToString().Substring("Bearer ".Length).Trim(); var tm = JwtHelper.SerializeJWT(tokenHeader); user = tm.UserName; } var str = $"\n 方法:{Modules}:{Methods} \n " + $"地址:{url} \n " + $"方式:{method} \n " + $"参数:{qs}\n " + //$"结果:{res}\n " + $"耗时:{Stopwatch.Elapsed.TotalMilliseconds} 毫秒"; Logger.Default.Process(user, LogType.GetEnumText(), str); }
public override void OnActionExecuted(ActionExecutedContext context) { base.OnActionExecuted(context); Stopwatch.Stop(); string url = context.HttpContext.Request.Path + context.HttpContext.Request.QueryString; string method = context.HttpContext.Request.Method; string qs = ActionArguments; //dynamic result = context.Result.GetType().Name == "EmptyResult" ? new { Value = "无返回结果" } : context.Result as dynamic; //string res = "在返回结果前发生了异常"; //try //{ // if (result != null) // { // res = Newtonsoft.Json.JsonConvert.SerializeObject(result.Value); // } //} //catch (System.Exception) //{ // res = "日志未获取到结果,返回的数据无法序列化"; //} var user = ""; //检测是否包含'Authorization'请求头,如果不包含则直接放行 if (context.HttpContext.Request.Headers.ContainsKey("Authorization")) { var tokenHeader = context.HttpContext.Request.Headers["Authorization"]; tokenHeader = tokenHeader.ToString().Substring("Bearer ".Length).Trim(); TokenModel tm = JwtHelper.SerializeJWT(tokenHeader); user = tm.UserName; } var str = $"\n 方法:{LogFlag} \n " + $"地址:{url} \n " + $"方式:{method} \n " + $"参数:{qs}\n " + //$"结果:{res}\n " + $"耗时:{Stopwatch.Elapsed.TotalMilliseconds} 毫秒"; Logger.Default.Process(user, LogType.GetEnumText(), str); }