예제 #1
0
        public ActionResult Index(string id, VModel.SyLogOper.Index m)
        {
            if (m.Grid == null)
            {
                m.Grid       = new Common.Model.PList <VModel.SyLogOper.Grid>();
                m.Grid.Pager = new Common.Model.Pager();
            }
            int total = 0;
            List <SyLogMonitorList> list = BigdataBll.SyLogOper_GetList(m.Grid.Pager.PageIndex, m.Grid.Pager.PageSize, out total, m.Key);

            m.Grid.Pager = new Common.Model.Pager(m.Grid.Pager.PageIndex, m.Grid.Pager.PageSize, total);
            m.Grid.Data  = new List <VModel.SyLogOper.Grid>();
            foreach (SyLogMonitorList log in list)
            {
                m.Grid.Data.Add(new VModel.SyLogOper.Grid
                {
                    HttpMethod    = log.HttpMethod,
                    ActionPurpose = Common.Dict.ActionPurpose.GetVal(log.ControllerName, log.ActionName, log.HttpMethod),
                    CreateTime    = log.CreateTime,
                    CreateAccount = log.CreateAccount == null ? "未知账号" : log.CreateAccount,
                    CreateIp      = log.CreateIp
                });
            }
            return(View(m));
        }
예제 #2
0
        public ActionResult Index(VModel.SyLogBug.Index m)
        {
            if (m.Grid == null)
            {
                m.Grid       = new Common.Model.PList <VModel.SyLogBug.Grid>();
                m.Grid.Pager = new Common.Model.Pager();
            }
            int total = 0;
            List <SyLogErrorList> list = BigdataBll.SyLogError_GetList(m.Grid.Pager.PageIndex, m.Grid.Pager.PageSize, out total, m.ControllerName);

            m.Grid.Pager = new Common.Model.Pager(m.Grid.Pager.PageIndex, m.Grid.Pager.PageSize, total);
            m.Grid.Data  = new List <VModel.SyLogBug.Grid>();
            foreach (SyLogErrorList log in list)
            {
                m.Grid.Data.Add(new VModel.SyLogBug.Grid
                {
                    Id             = log.Id,
                    DType          = Common.Dict.ActionType.GetVal(log.DType),
                    ControllerName = log.ControllerName,
                    ActionName     = log.ActionName,
                    HttpMethod     = log.HttpMethod,
                    Url            = log.Url,
                    Message        = log.Message,
                    CreateIp       = log.CreateIp,
                    CreateTime     = log.CreateTime,
                    CreateUserName = log.CreateUserName,
                    ActionPurpose  = ""
                });
            }
            return(View(m));
        }
예제 #3
0
        /// <summary>
        /// 写数据库
        /// </summary>
        /// <param name="e"></param>
        private void WriteDatabase(ExceptionContext filterContext)
        {
            string controllerName = filterContext.RouteData.Values["controller"].ToString();
            string actionName     = filterContext.RouteData.Values["action"].ToString();
            string httpMethod     = filterContext.HttpContext.Request.HttpMethod;

            SyLogErrorAdd data = new SyLogErrorAdd();

            data.ControllerName = controllerName;
            data.ActionName     = actionName;
            data.HttpMethod     = httpMethod;
            data.Url            = filterContext.HttpContext.Request.FilePath;
            data.Message        = filterContext.Exception.Message;
            data.CreateIp       = Common.Function.GetIp(filterContext.HttpContext.Request);
            data.CreateTime     = DateTime.Now;

            if (filterContext.HttpContext.Session["UserInfo"] != null)
            {
                VModel.SyPassport.UserInfo user = filterContext.HttpContext.Session["UserInfo"] as VModel.SyPassport.UserInfo;
                if (user != null)
                {
                    data.CreateUserId   = user.Id;
                    data.CreateUserName = user.Name;
                    data.CreateAccount  = user.Account;
                }
            }

            BigdataBll.SyLogErrorWeb_Add(data);
        }
예제 #4
0
        public ActionResult Index(VModel.SyLogRoomOper.Index m)
        {
            if (m.Grid == null)
            {
                m.Grid       = new Common.Model.PList <VModel.SyLogRoomOper.Grid>();
                m.Grid.Pager = new Common.Model.Pager();
            }
            int total = 0;
            List <RoomLogList> list = BigdataBll.ClrLogMonitorWeb_GetList(m.Grid.Pager.PageIndex, m.Grid.Pager.PageSize, out total, m.StartDate, m.EndDate);

            m.Grid.Pager = new Common.Model.Pager(m.Grid.Pager.PageIndex, m.Grid.Pager.PageSize, total);
            m.Grid.Data  = new List <VModel.SyLogRoomOper.Grid>();
            foreach (RoomLogList log in list)
            {
                m.Grid.Data.Add(new VModel.SyLogRoomOper.Grid
                {
                    Account    = Bll.SyUserBll.GetAccount(log.CreateUserId),
                    UserName   = Bll.SyUserBll.GetName(log.CreateUserId),
                    RoleNames  = Bll.SyRoleBll.GetRoleNamesByUserId(log.CreateUserId),
                    OperId     = log.OperId,
                    CreateTime = log.CreateTime
                });
            }
            return(View(m));
        }
예제 #5
0
        /// <summary>
        /// 渲染结束
        /// </summary>
        /// <param name="filterContext"></param>
        public override void OnResultExecuted(ResultExecutedContext filterContext)
        {
            GetTimer(filterContext, "render").Stop();

            string controllerName = filterContext.RouteData.Values["controller"].ToString();
            string actionName     = filterContext.RouteData.Values["action"].ToString();
            string httpMethod     = filterContext.HttpContext.Request.HttpMethod;

            var actionTimer = GetTimer(filterContext, "action");
            var renderTimer = GetTimer(filterContext, "render");

            SyLogMonitorAdd data = new SyLogMonitorAdd();

            data.ControllerName = controllerName;
            data.ActionName     = actionName;
            data.HttpMethod     = httpMethod;
            data.Url            = filterContext.HttpContext.Request.FilePath;
            data.CreateIp       = Common.Function.GetIp(filterContext.HttpContext.Request);
            data.CreateTime     = DateTime.Now;
            data.ResponseTime   = Convert.ToDecimal(actionTimer.Elapsed.TotalSeconds);
            data.RenderTime     = Convert.ToDecimal(renderTimer.Elapsed.TotalSeconds);
            if (filterContext.HttpContext.Session["UserInfo"] != null)
            {
                VModel.SyPassport.UserInfo user = filterContext.HttpContext.Session["UserInfo"] as VModel.SyPassport.UserInfo;
                if (user != null)
                {
                    data.CreateUserId   = user.Id;
                    data.CreateUserName = user.Name;
                    data.CreateAccount  = user.Account;
                }
            }
            BigdataBll.SyLogMonitorWeb_Add(data);

            base.OnResultExecuted(filterContext);
        }
예제 #6
0
        public FileResult Export()
        {
            NPOI.HSSF.UserModel.HSSFWorkbook book   = new NPOI.HSSF.UserModel.HSSFWorkbook(); //创建Excel文件的对象
            NPOI.SS.UserModel.ISheet         sheet1 = book.CreateSheet("Sheet1");             //添加一个sheet
            NPOI.SS.UserModel.IRow           row1   = sheet1.CreateRow(0);                    //给sheet1添加第一行的头部标题
            row1.CreateCell(0).SetCellValue("用户名");
            row1.CreateCell(1).SetCellValue("姓名");
            row1.CreateCell(2).SetCellValue("角色");
            row1.CreateCell(3).SetCellValue("操作");
            row1.CreateCell(4).SetCellValue("时间");

            List <RoomLogList> list = BigdataBll.ClrLogMonitorWeb_GetListAll(null, null);
            int i = 1;

            foreach (var log in list)
            {
                string roleNames = "";
                var    roles     = Bll.SyRoleBll.GetRoleNamesByUserId(log.CreateUserId);
                foreach (var role in roles)
                {
                    if (!string.IsNullOrWhiteSpace(role))
                    {
                        roleNames += role + ",";
                    }
                }
                if (roleNames != "")
                {
                    roleNames = roleNames.Substring(0, roleNames.Length - 1);
                }

                NPOI.SS.UserModel.IRow r = sheet1.CreateRow(i);
                r.CreateCell(0).SetCellValue(Bll.SyUserBll.GetAccount(log.CreateUserId));
                r.CreateCell(1).SetCellValue(Bll.SyUserBll.GetName(log.CreateUserId));
                r.CreateCell(2).SetCellValue(roleNames);
                r.CreateCell(3).SetCellValue(Common.Dict.RoomOperType.GetVal(log.OperId));
                r.CreateCell(4).SetCellValue(log.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"));
                i++;
            }

            System.IO.MemoryStream ms = new System.IO.MemoryStream();// 写入到客户端
            book.Write(ms);
            ms.Seek(0, System.IO.SeekOrigin.Begin);

            return(File(ms, "application/vnd.ms-excel", "互动课堂.xls"));
        }
예제 #7
0
        /// <summary>
        /// 写数据库
        /// </summary>
        /// <param name="e"></param>
        private void WriteDatabase(HttpActionExecutedContext filterContext)
        {
            System.Web.HttpContextWrapper context = ((System.Web.HttpContextWrapper)filterContext.Request.Properties["MS_HttpContext"]);
            string controllerName = filterContext.ActionContext.ControllerContext.ControllerDescriptor.ControllerName;
            string actionName     = filterContext.ActionContext.ActionDescriptor.ActionName;
            string httpMethod     = filterContext.Request.Method.ToString();

            SyLogErrorAdd data = new SyLogErrorAdd();

            data.ControllerName = controllerName;
            data.ActionName     = actionName;
            data.HttpMethod     = httpMethod;
            data.Url            = filterContext.Request.RequestUri.ToString();
            data.Message        = filterContext.Exception.Message;
            data.CreateIp       = Common.Function.GetIp(context.Request);
            data.CreateTime     = DateTime.Now;
            BigdataBll.SyLogErrorApi_Add(data);
        }
예제 #8
0
        public ActionResult Index(VModel.SyLogPerf.Index m)
        {
            Dictionary <double, string> dict = new Dictionary <double, string>();

            dict.Add(1, "综合时间大于1秒");
            dict.Add(2, "综合时间大于2秒");
            dict.Add(3, "综合时间大于3秒");
            dict.Add(4, "综合时间大于4秒");
            dict.Add(5, "综合时间大于5秒");

            m.TotalTimes = dict;

            if (m.Grid == null)
            {
                m.Grid       = new Common.Model.PList <VModel.SyLogPerf.Grid>();
                m.Grid.Pager = new Common.Model.Pager();
            }
            int total = 0;
            List <SyLogMonitorList> list = BigdataBll.SyLogMonitor_GetList(m.Grid.Pager.PageIndex, m.Grid.Pager.PageSize, out total, Convert.ToDecimal(m.TotalTime), m.ControllerName);

            m.Grid.Pager = new Common.Model.Pager(m.Grid.Pager.PageIndex, m.Grid.Pager.PageSize, total);
            m.Grid.Data  = new List <VModel.SyLogPerf.Grid>();
            foreach (SyLogMonitorList log in list)
            {
                m.Grid.Data.Add(new VModel.SyLogPerf.Grid
                {
                    Id             = log.Id,
                    ActionType     = Common.Dict.ActionType.GetVal(log.DType),
                    ControllerName = log.ControllerName,
                    ActionName     = log.ActionName,
                    HttpMethod     = log.HttpMethod,
                    Url            = log.Url,
                    CreateIp       = log.CreateIp,
                    CreateTime     = log.CreateTime,
                    CreateUserName = log.CreateUserName,
                    ResponseTime   = log.ResponseTime,
                    RenderTime     = log.RenderTime,
                    TotalTime      = log.TotalTime
                });
            }
            return(View(m));
        }
예제 #9
0
        /// <summary>
        /// 执行结束
        /// </summary>
        /// <param name="filterContext"></param>
        public override void OnActionExecuted(HttpActionExecutedContext filterContext)
        {
            if (filterContext.Request.Properties.ContainsKey(Key))
            {
                var stopWatch = filterContext.Request.Properties[Key] as Stopwatch;
                if (stopWatch != null)
                {
                    stopWatch.Stop();

                    System.Web.HttpContextWrapper context = ((System.Web.HttpContextWrapper)filterContext.Request.Properties["MS_HttpContext"]);
                    string controllerName = filterContext.ActionContext.ActionDescriptor.ControllerDescriptor.ControllerName;
                    string actionName     = filterContext.ActionContext.ActionDescriptor.ActionName;
                    string httpMethod     = filterContext.Request.Method.ToString();

                    SyLogMonitorAdd data = new SyLogMonitorAdd();
                    data.ControllerName = controllerName;
                    data.ActionName     = actionName;
                    data.HttpMethod     = httpMethod;
                    data.Url            = filterContext.Request.RequestUri.ToString();
                    data.CreateIp       = Common.Function.GetIp(context.Request);
                    data.CreateTime     = DateTime.Now;
                    data.ResponseTime   = Convert.ToDecimal(stopWatch.Elapsed.TotalSeconds);

                    //if (filterContext.HttpContext.Session["UserInfo"] != null)
                    //{
                    //    Common.Model.UserInfo user = filterContext.HttpContext.Session["UserInfo"] as Common.Model.UserInfo;
                    //    if (user != null)
                    //    {
                    //        data.CreateUserId = user.Id;
                    //        data.CreateUserName = user.Name;
                    //    }
                    //}
                    BigdataBll.SyLogMonitorApi_Add(data);
                }
            }

            //base.OnActionExecuted(filterContext);
        }