public Task Handle(Sys_log notification, CancellationToken cancellationToken) { var _log = GlobalCore.GetRequiredService <ISys_logServices>(); //var _log = ServiceResolve.Resolve<ISys_logServices>(); _log.Insert(notification); return(Task.CompletedTask); }
/// <summary> /// /// </summary> /// <param name="obj"></param> /// <returns></returns> public static string ToJsonL(this object obj) { var config = GlobalCore.GetRequiredService <JsonConfig>(); CheckNull.ArgumentIsNullException(config, "请添加app.UseGlobalCore();services.AddJson();"); switch (config.JsonType) { case JsonType.MessagePack: return(obj.MpToJson()); case JsonType.ProtobufNet: throw new Exception("未实现"); case JsonType.SimdJsonSharp: throw new Exception("未实现"); case JsonType.SpanJson: throw new Exception("未实现"); case JsonType.SwifterJson: if (config.SwifterJsonConfig.DateTimeFormat.IsEmpty()) { return(obj.SwifterToJson()); } else { return(obj.SwifterToJson(config.SwifterJsonConfig.DateTimeFormat, config.SwifterJsonConfig.JsonFormatterOptions)); } case JsonType.Utf8Json: return(obj.Utf8JsonToJson()); case JsonType.Jil: return(obj.JilToJson()); case JsonType.ServiceStackText: throw new Exception("未实现"); case JsonType.Newtonsoft: return(obj.ToJson(config.Newtonsoft.DateTimeFormat)); default: return(obj.JilToJson()); } }
private void LogRequest(string target, object parameter, object result) { try { LogData logData = new LogData(); logData.parameters = parameter; logData.logIp = GlobalCore.GetIp(); logData.target = target; logData.result = result; String dir = Path.Combine(AppContext.BaseDirectory, "OutsideLog", target); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } String path = Path.Combine(dir, DateTime.Now.Ticks.ToString() + "_" + logData.logId.ToString()); System.IO.File.WriteAllText(path, JsonConvert.SerializeObject(logData)); } catch (Exception) { } }
public static T ToObjL <T>(this string obj) { var config = GlobalCore.GetRequiredService <JsonConfig>(); switch (config.JsonType) { case JsonType.MessagePack: return(obj.MpToObj <T>()); case JsonType.ProtobufNet: throw new Exception("未实现"); case JsonType.SimdJsonSharp: throw new Exception("未实现"); case JsonType.SpanJson: throw new Exception("未实现"); case JsonType.SwifterJson: return(obj.SwifterToObj <T>()); case JsonType.Utf8Json: return(obj.Utf8JsonToObj <T>()); case JsonType.Jil: return(obj.JilToObject <T>()); case JsonType.ServiceStackText: throw new Exception("未实现"); case JsonType.Newtonsoft: return(obj.ToObject <T>()); default: return(obj.JilToObject <T>()); } }
/// <summary> /// 启用全局静态化 /// </summary> /// <param name="app"></param> /// <returns></returns> public static IApplicationBuilder UseGlobalCore(this IApplicationBuilder app) { GlobalCore.Configure(app); return(app); }
public override void OnResultExecuting(ResultExecutingContext context) { var services = context.HttpContext.RequestServices; var config = services.GetService(typeof(IConfiguration)) as IConfiguration; var claims = context.HttpContext.User.Claims; string flag = config["Log:operationlog"]; if (string.IsNullOrWhiteSpace(flag)) { flag = "false"; } if (flag.Equals("true", StringComparison.OrdinalIgnoreCase)) { if (Ignore) {//传入参数 var parameters = context.ReadResultExecutingContext(); //result var result = context.Result; object res = null; if (result is ObjectResult objectResult) { res = objectResult.Value; } else if (result is ContentResult contentResult) { res = contentResult.Content; } else if (result is EmptyResult emptyResult) { res = emptyResult; } else if (result is StatusCodeResult statusCodeResult) { res = statusCodeResult; } else if (result is JsonResult jsonResult) { res = jsonResult.Value.ToString(); } else if (result is FileResult fileResult) { res = fileResult.FileDownloadName.IsEmpty() ? fileResult.ContentType : fileResult.FileDownloadName; } else if (result is ViewResult viewResult) { res = viewResult.Model; } else if (result is RedirectResult redirectResult) { res = redirectResult.Url; } var log = services.GetService(typeof(ISys_logServices)) as ISys_logServices; if (LogType == LogType.addOrUpdate) { if (res.ToString().Contains("修改")) { LogType = LogType.update; } if (res.ToString().Contains("添加")) { LogType = LogType.add; } } string des = ""; if (LogType == LogType.select) { des = parameters.Item1 + ";" + parameters.Item3; } else { des = res.ToString() + ";" + parameters.Item1 + ";" + parameters.Item3; } var model = new Core.Entity.Sys_log { Browser = GlobalCore.GetBrowser(), CreateBy = claims.SingleOrDefault(c => c.Type == ClaimTypes.Sid).Value.ToInt64(), CreateDate = DateTimeExt.DateTime, Description = des, LogId = PubId.SnowflakeId, LogIp = GlobalCore.GetIp(), LogType = LogType.EnumToString(), Url = parameters.Item2 }; SysLogFluent rules = new SysLogFluent(); var validationResult = rules.Validate(model); if (validationResult.IsValid) { log.Insert(model); } } } base.OnResultExecuting(context); }