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);
        }
Example #2
0
        /// <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)
            {
            }
        }
Example #4
0
        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>());
            }
        }
Example #5
0
 /// <summary>
 /// 启用全局静态化
 /// </summary>
 /// <param name="app"></param>
 /// <returns></returns>
 public static IApplicationBuilder UseGlobalCore(this IApplicationBuilder app)
 {
     GlobalCore.Configure(app);
     return(app);
 }
Example #6
0
        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);
        }