Ejemplo n.º 1
0
        /// <summary>
        /// 写入异常日志
        /// </summary>
        /// <param name="ex">异常对象</param>
        public int WriteExceptionLog(Exception ex)
        {
            int?parentID = null;
            int?fistID   = null;

            do
            {
                var message = ex.Message;
                var logM    = new ApplicationLog
                {
                    Types      = (byte)ApplicationLogTypeEnum.Exception,
                    CreateTime = DateTime.Now,
                    Title      = "发生异常",
                    Message    = message,
                    ParentID   = parentID
                };
                var exceptionM = new ApplicationLogException
                {
                    StackTrace = ex.StackTrace,
                    Types      = ex.GetType().Name
                };
                parentID = _dal.InsertExceptionLog(logM, exceptionM);
                if (fistID == null)
                {
                    fistID = parentID;
                }
                ex = ex.InnerException;
            } while (ex != null);
            _dal.SaveChange();
            return(fistID.Value);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 插入一个异常日志
 /// </summary>
 /// <param name="model">日志对象</param>
 /// <param name="exceptionModel">异常日志对象</param>
 public int InsertExceptionLog(ApplicationLog model, ApplicationLogException exceptionModel)
 {
     if (model.Types == (byte)ApplicationLogTypeEnum.Exception)
     {
         exceptionModel.LogID = model.ID;
         XmlElement logXml       = GetLogNode(model);
         XmlElement exceptionXml = _xmlDoc.CreateElement("Exception");
         exceptionXml.SetAttribute(nameof(ApplicationLogException.StackTrace), exceptionModel.StackTrace);
         exceptionXml.SetAttribute(nameof(ApplicationLogException.Types), exceptionModel.Types);
         logXml.AppendChild(exceptionXml);
         _xmlDoc.LastChild.AppendChild(logXml);
         if (_xmlDoc.LastChild.Attributes != null)
         {
             _xmlDoc.LastChild.Attributes[LastIDName].Value = logXml.Attributes[nameof(ApplicationLog.ID)].Value;
         }
         return(model.ID);
     }
     else
     {
         throw new ArgumentException("该日志不是异常日志");
     }
 }