예제 #1
0
 public static void Error(string msg, Exception exp)
 {
     try
     {
         LoadConnectString();
         if (exp == null)
         {
             exp = new Exception();
         }
         SqlHelper.ExcuteSql(UnityLogConnectString, (c) =>
         {
             tb_error_log_dal dal = new tb_error_log_dal();
             dal.Add(c, new tb_error_log_model()
             {
                 logcreatetime = DateTime.Now,
                 developer     = "车江毅",
                 logtag        = "统一监控平台系统异常",
                 logtype       = (int)XXF.BaseService.Monitor.SystemRuntime.EnumErrorLogType.SystemError,
                 msg           = msg + "【原始信息】" + exp.Message.NullToEmpty(),
                 projectname   = "统一监控平台",
                 remark        = "",
                 tracestack    = exp.StackTrace
             });
         });
         Debug.WriteLine(msg + exp.Message);
         XXF.Log.ErrorLog.Write(msg, exp);
     }
     catch (Exception e)
     {
         XXF.Log.ErrorLog.Write(msg, e);
     }
 }
 public static void Error(string logtag, string msg, string projectname)
 {
     try
     {
         LoadConnectString();
         SqlHelper.ExcuteSql(UnityLogConnectString, (c) =>
         {
             tb_error_log_dal dal = new tb_error_log_dal();
             dal.AddError(c, new tb_error_log_model()
             {
                 logcreatetime = DateTime.Now,
                 developer     = "",
                 logtag        = logtag,
                 logtype       = (int)XXF.BaseService.Monitor.SystemRuntime.EnumErrorLogType.SystemError,
                 msg           = msg,
                 projectname   = projectname + "【监控平台】",
                 remark        = "",
                 tracestack    = ""
             });
         });
     }
     catch (Exception exp)
     {
         XXF.Log.ErrorLog.Write("LogHelper.Error", exp);
     }
 }
예제 #3
0
        public override void Run()
        {
            GlobalConfig.MonitorPlatformManageConnectString = AppConfig["MonitorPlatformManageConnectString"];
            int EveryGrowErrorNum = Convert.ToInt32(AppConfig["EveryGrowErrorNum"]);

            SqlHelper.ExcuteSql(GlobalConfig.MonitorPlatformManageConnectString, (c) =>
            {
                tb_database_config_dal dal = new tb_database_config_dal();
                var list = dal.GetModelList(c);
                UnityLogConnectString = XXF.BaseService.Monitor.SystemRuntime.DbShardingHelper.GetDataBase(list, XXF.BaseService.Monitor.SystemRuntime.DataBaseType.UnityLog);
            });

            int errornum = 0;

            SqlHelper.ExcuteSql(UnityLogConnectString, (c) =>
            {
                tb_error_log_dal dal = new tb_error_log_dal();
                errornum             = dal.GetGrawErrorNum(c, lastscantime);
            });
            if (errornum > EveryGrowErrorNum)
            {
                TaskLogHelper.Error("错误预警任务", string.Format("【{0}】-【{1}】期间平台错误日志增加{2}条", lastscantime, DateTime.Now, errornum), "错误预警任务");
            }
            lastscantime = DateTime.Now;
        }
예제 #4
0
        public override void Run()
        {
            GlobalConfig.MonitorPlatformManageConnectString = AppConfig["MonitorPlatformManageConnectString"];

            SqlHelper.ExcuteSql(GlobalConfig.MonitorPlatformManageConnectString, (c) =>
            {
                tb_database_config_dal dal = new tb_database_config_dal();
                var list = dal.GetModelList(c);
                UnityLogConnectString = XXF.BaseService.Monitor.SystemRuntime.DbShardingHelper.GetDataBase(list, XXF.BaseService.Monitor.SystemRuntime.DataBaseType.UnityLog);
            });

            List <tb_user_model> users = new List <tb_user_model>();

            SqlHelper.ExcuteSql(GlobalConfig.MonitorPlatformManageConnectString, (c) =>
            {
                tb_user_dal dal = new tb_user_dal();
                users           = dal.GetAllUsers(c);
            });
            foreach (var u in users)
            {
                if (!string.IsNullOrWhiteSpace(u.useremail))
                {
                    if (u.lastsenderrortime.AddMinutes(u.errorsendintervaltime) < DateTime.Now)
                    {
                        List <tb_error_log_model> errors = new List <tb_error_log_model>();
                        SqlHelper.ExcuteSql(UnityLogConnectString, (c) =>
                        {
                            tb_error_log_dal dal = new tb_error_log_dal();
                            if (u.userrole == (byte)XXF.BaseService.Monitor.SystemRuntime.EnumUserRole.Admin)
                            {
                                errors = dal.GetUserErrors(c, u.lastsenderrortime, "", "", 50);
                            }
                            else
                            {
                                errors = dal.GetUserErrors(c, u.lastsenderrortime, u.username.Trim(), u.userstaffno.Trim(), 50);
                            }
                        });
                        SendEmail(errors, u.useremail);
                        SqlHelper.ExcuteSql(GlobalConfig.MonitorPlatformManageConnectString, (c) =>
                        {
                            tb_user_dal dal = new tb_user_dal();
                            dal.UpdateLastErrorSendTime(c, u.id, DateTime.Now);
                        });
                    }
                }
            }
        }
예제 #5
0
        //
        // GET: /UnityLog/ErrorLog/

        public ActionResult Index(string id, string keyword, string month, string timebegin, string timeend, string projectname, int logtype = -1, int pageindex = 1, int pagesize = 10)
        {
            ViewBag.keyword = keyword; ViewBag.logtype = logtype; ViewBag.projectname = projectname;
            ViewBag.id      = id;
            if (!string.IsNullOrWhiteSpace(timebegin))
            {
                ViewBag.timebegin = DateTime.Parse(timebegin);
            }
            else
            {
                ViewBag.timebegin = DateTime.Now.Date;
            }
            if (!string.IsNullOrWhiteSpace(timeend))
            {
                ViewBag.timeend = DateTime.Parse(timeend);
            }
            else
            {
                ViewBag.timeend = DateTime.Now.Date.AddDays(1);
            }
            tb_error_log_dal dal = new tb_error_log_dal();
            PagedList <tb_error_log_model> pageList = null;
            int count = 0;

            using (DbConn PubConn = DbConfig.CreateConn(Config.UnityLogConnectString))
            {
                PubConn.Open();
                List <tb_error_log_model> List = new List <tb_error_log_model>();
                try
                {
                    List = dal.GetList(PubConn, id, keyword, ViewBag.timebegin, ViewBag.timeend, logtype, projectname, pagesize, pageindex, out count);
                }
                catch
                {
                    List = new List <tb_error_log_model>();
                }
                pageList = new PagedList <tb_error_log_model>(List, pageindex, pagesize, count);
            }
            if (Request.IsAjaxRequest())
            {
                return(PartialView("List", pageList));
            }
            return(View(pageList));
        }
 public static void AddErrorLog(ErrorLogInfo log)
 {
     if (XXF.Common.XXFConfig.IsWriteErrorLog && XXF.Common.XXFConfig.IsWriteErrorLogToMonitorPlatform)
     {
         try
         {
             if (!string.IsNullOrWhiteSpace(Config.UnityLogConnectString))
             {
                 SqlHelper.ExcuteSql(Config.UnityLogConnectString, (c) =>
                 {
                     tb_error_log_dal errorlogdal = new tb_error_log_dal();
                     errorlogdal.Add(c, log);
                 });
                 logbatchqueue.Add(new CommonLogInfo() { logcreatetime = log.logcreatetime, logtag = log.logtag, logtype = log.logtype, msg = log.msg.SubString2(900).NullToEmpty(), projectname = log.projectname });
             }
         }
         catch (Exception exp)
         {
             
         }
     }
 }