Ejemplo n.º 1
0
        //Логирование исключений пользователя

        public void XmlSave(ExViewModel data)
        {
            XmlDocument xDoc = new XmlDocument();

            try
            {
                xDoc.Load(_connection);

                XmlElement xRoot = xDoc.DocumentElement;


                XmlElement error      = xDoc.CreateElement("Exception");
                XmlElement userName   = xDoc.CreateElement("UserName");
                XmlElement exMessage  = xDoc.CreateElement("ExceptionMessage");
                XmlElement userAction = xDoc.CreateElement("ControllerName");
                XmlElement stackTrace = xDoc.CreateElement("ExceptionStackTrace");
                XmlElement Date       = xDoc.CreateElement("LogTime");

                XmlText name   = xDoc.CreateTextNode($"{data.UserName}");
                XmlText exMes  = xDoc.CreateTextNode($"{data.ExMessage}");
                XmlText action = xDoc.CreateTextNode($"{data.ControllerName}");
                XmlText sTrace = xDoc.CreateTextNode($"{data.ExTrace}");
                XmlText date   = xDoc.CreateTextNode($"{data.LogTime}");

                userName.AppendChild(name);
                exMessage.AppendChild(exMes);
                userAction.AppendChild(action);
                stackTrace.AppendChild(sTrace);
                Date.AppendChild(date);

                error.AppendChild(userName);
                error.AppendChild(exMessage);
                error.AppendChild(userAction);
                error.AppendChild(stackTrace);
                error.AppendChild(Date);
                xRoot.AppendChild(error);

                xDoc.Save(_connection);
            }
            catch (FileNotFoundException ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 2
0
        public void OnException(ExceptionContext filterContext)
        {
            string name = "Guest";

            if (filterContext.HttpContext.User.Identity.IsAuthenticated)
            {
                name = filterContext.HttpContext.User.Identity.Name; //Получение имени пользователя
            }
            if (!filterContext.ExceptionHandled)
            {
                ExViewModel logger = new ExViewModel()
                {
                    UserName       = name,
                    ExMessage      = filterContext.Exception.Message,
                    ControllerName = filterContext.RouteData.Values["controller"].ToString(),
                    ExTrace        = filterContext.Exception.StackTrace,
                    LogTime        = DateTime.Now
                };

                //Вызов класса для записи в XML файл
                XmlFileManager manager = new XmlFileManager();
                manager.XmlSave(logger);
            }
        }
Ejemplo n.º 3
0
 public int Compare(ExViewModel x, ExViewModel y)
 {
     return(Compare(x.EmbeddedModel, y.EmbeddedModel));
 }