public ApiResultModel <string> TestLog() { Net4Logger.Debug("debug", "阿萨德法师法方为人阿萨德法师法方为人阿萨德法师法方为人", new Exception("debug")); Net4Logger.Error("error", "asfsafdsfasfdsf阿萨德法师法方为人阿萨德法师法方为人阿萨德法师法方为人", new Exception("error")); Net4Logger.Info("info", "1q324154354325654阿萨德法师法方为人阿萨德法师法方为人阿萨德法师法方为人", new Exception("info")); return(new ApiResultModel <string>()); }
/// <summary> /// 方法执行前 /// </summary> /// <param name="context"></param> public override async System.Threading.Tasks.Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { // 判断是否忽略验证 if (context.ActionDescriptor is ControllerActionDescriptor cad) { var controleIgnor = cad.ControllerTypeInfo.GetCustomAttributes(inherit: true).Any(x => x is IgnorTokenAttribute || x is InnerServiceAttribute || x is AllowAnonymousAttribute); if (controleIgnor) { return; } var actionIgnor = cad.MethodInfo.GetCustomAttributes(inherit: true).Any(x => x is IgnorTokenAttribute || x is InnerServiceAttribute || x is AllowAnonymousAttribute); if (actionIgnor) { return; } } ApiResultModel <string> apiResult = null; var path = context.HttpContext.Request.Path; var source = context.HttpContext.Request.Headers[SourceKey];//请求来源为微信时,不做token验证 if (string.IsNullOrEmpty(source) || source != "wx") { var token = context.HttpContext.Request.Headers[TokenKey]; if (!string.IsNullOrEmpty(token)) { //不存在该缓存键 if (!RedisClient.Exists(RedisDatabase.DB_UserService, RedisCommon.GetTokenKey(token))) { apiResult = new ApiResultModel <string>() { Code = ApiResultCode.UserInvalid }; context.Result = new JsonResult(apiResult); return; } } else { apiResult = new ApiResultModel <string>() { Code = ApiResultCode.NoToken }; context.Result = new JsonResult(apiResult); //日志 Net4Logger.Error(path, "非法请求(无token)"); } } await base.OnActionExecutionAsync(context, next); }
//private readonly IExceptionlessLogger _exceptionlessLogger; //public GlobalExceptionAttribute(IExceptionlessLogger exceptionlessLogger) //{ // _exceptionlessLogger = exceptionlessLogger; //} public void OnException(ExceptionContext context) { ApiResultModel <string> apiResult = null; var ex = context.Exception; if (ex != null) { apiResult = new ApiResultModel <string>() { Code = ApiResultCode.Exception, Message = ex.Message }; context.Result = new JsonResult(apiResult); context.HttpContext.Response.StatusCode = (int)HttpStatusCode.InternalServerError; context.ExceptionHandled = true; //日志 System.Threading.Tasks.Task.Run(() => { Net4Logger.Error(context.HttpContext.Request.Path, ex.Message, ex); //_exceptionlessLogger.Error(context.HttpContext.Request.Path, ex.Message, ""); }); } }
public void TestNetLog() { Net4Logger.Debug("debug", "阿萨德法师法方为人阿萨德法师法方为人阿萨德法师法方为人", new Exception("debug")); Net4Logger.Error("error", "asfsafdsfasfdsf阿萨德法师法方为人阿萨德法师法方为人阿萨德法师法方为人", new Exception("error")); Net4Logger.Info("info", "1q324154354325654阿萨德法师法方为人阿萨德法师法方为人阿萨德法师法方为人", new Exception("info")); }