asp.net 写日志记录

来源:互联网 发布:2017手机电视直播软件 编辑:程序博客网 时间:2024/06/14 10:24
 
 using System;using System.IO;using System.Xml;
/// <summary>        /// 写入一条错误日志记录。        /// </summary>        /// <param name="user">当前用户名。</param>        /// <param name="ex">异常对象。</param>        public static void WriteEntry(String user, Exception ex)        {            if (ex == null)            {                WriteEntry(user, "Exception is null.", "");            }            else            {                if (ex.InnerException != null)                {                    ex = ex.InnerException;                }                WriteEntry(user, ex.Message, ex.StackTrace);            }        }        /// <summary>        /// 写入一条错误日志记录。        /// </summary>        /// <param name="user">当前用户名。</param>        /// <param name="message">消息文本。</param>        /// <param name="stackTrace">堆栈跟踪。</param>        public static void WriteEntry(String user, String message, String stackTrace)        {            try            {                String logDirectory = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "Logs";                String logFile = logDirectory + "\\" + DateTime.Today.ToString("yyyyMM") + ".xml";                if (!Directory.Exists(logDirectory))                {                    Directory.CreateDirectory(logDirectory);                }                if (!File.Exists(logFile))                {                    String newLine = Environment.NewLine;                    System.Text.StringBuilder logContent = new System.Text.StringBuilder();                    logContent.Append("<?xml version=\"1.0\" encoding=\"utf-8\" ?>" + newLine);                    logContent.Append("<exceptions>" + newLine);                    logContent.Append("</exceptions>");                    File.WriteAllText(logFile, logContent.ToString(), System.Text.Encoding.UTF8);                }                XmlDocument logDoc = new XmlDocument();                logDoc.Load(logFile);                XmlElement itemElement = logDoc.CreateElement("exception");                logDoc.DocumentElement.AppendChild(itemElement);                XmlElement userElement = logDoc.CreateElement("user");                userElement.InnerText = user;                itemElement.AppendChild(userElement);                XmlElement dateElement = logDoc.CreateElement("time");                dateElement.InnerText = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");                itemElement.AppendChild(dateElement);                XmlElement messageElement = logDoc.CreateElement("message");                messageElement.InnerText = message;                itemElement.AppendChild(messageElement);                XmlElement stackTraceElement = logDoc.CreateElement("stackTrace");                stackTraceElement.InnerText = stackTrace;                itemElement.AppendChild(stackTraceElement);                logDoc.Save(logFile);            }            catch            {            }        }    }

0 0
原创粉丝点击