[图片]using System.IO;
[图片]
[图片]namespace CSST.WMS.UI.Utility
[图片][图片][图片]{
[图片][图片] /**//// <summary>
[图片] /// 文本日志记录类,成员函数均为静态函数,直接调用即可
[图片] /// </summary>
[图片] public class LogMsg
[图片][图片] [图片]{
[图片][图片] 常量定义#region 常量定义
[图片][图片] /**//// <summary>
[图片] /// 程序目录名
[图片] /// (一般根据需要修改此变量值即可)
[图片] /// </summary>
[图片] private const string FolderName = "EventLog";
[图片]
[图片][图片] /**//// <summary>
[图片] /// 日志文件名
[图片] /// (全名或后缀名,按日分类时为后缀名)
[图片] /// </summary>
[图片] private const string logFileName = "Log.Log";
[图片] #endregion
[图片]
[图片][图片] 构造函数#region 构造函数
[图片][图片] /**//// <summary>
[图片] /// 私有构造函数,不允许直接实例化
[图片] /// </summary>
[图片] private LogMsg()
[图片][图片] [图片]{
[图片] //
[图片] }
[图片] #endregion
[图片]
[图片][图片] 记录错误日志到文本文件到我的文档目录#region 记录错误日志到文本文件到我的文档目录
[图片]
[图片][图片] /**//// <summary>
[图片] /// 记录错误日志到文本文件到我的文档目录
[图片] /// 按月分,每月产生一个日志文件
[图片] /// </summary>
[图片] /// <param name="text">日志内容</param>
[图片] static public void WriteLogToApplicationFolderByMonth(string text)
[图片][图片] [图片]{
[图片] //string folderPath = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\My Tests\\Log1";
[图片]
[图片]
[图片] //格式化文件夹字符串
[图片] string folderPath = string.Format("{0}\\{1}\\Year_{2}", System.Windows.Forms.Application.StartupPath, FolderName, System.DateTime.Now.ToString("yyyy"));
[图片]
[图片] if (!Directory.Exists(folderPath))
[图片][图片] [图片]{
[图片] Directory.CreateDirectory(folderPath);
[图片] }
[图片]
[图片] //格式化文件路径字符串
[图片] string filePath = string.Format("{0}\\Month_{1}_{2}", folderPath, System.DateTime.Today.ToString("MM"), logFileName);
[图片]
[图片] LogToFile(filePath, text);
[图片] }
[图片]
[图片] #endregion
[图片]
[图片][图片] 记录文本到文本文件#region 记录文本到文本文件
[图片][图片] /**//// <summary>
[图片] /// 记录文本到文本文件(根据微软MSDN2005帮助文档System.IO.File.AppendText()提供的示例修改)
[图片] /// </summary>
[图片] /// <param name="filePath">文件路径</param>
[图片] /// <param name="text">记录内容</param>
[图片] static private void LogToFile(string filePath, string text)
[图片][图片] [图片]{
[图片] //-------------------
[图片] StreamWriter sw = null;
[图片] try
[图片][图片] [图片]{
[图片] if (!File.Exists(filePath))
[图片][图片] [图片]{
[图片] sw = File.CreateText(filePath);
[图片] }
[图片] else
[图片][图片] [图片]{
[图片] sw = File.AppendText(filePath);
[图片] }
[图片]
[图片] //设置写入文件的文本
[图片] //string msg = string.Format("{0}---------Log Time:{1}--------{0}{2}", System.Environment.NewLine, System.DateTime.Now.ToString(), text);
[图片]
[图片] string msg = string.Format("\r\n---------Log Time:{0}--------\r\n{1}", System.DateTime.Now.ToString(), text);
[图片]
[图片] sw.WriteLine(msg);
[图片] //sw.WriteLine(text);
[图片]
[图片] }
[图片] finally
[图片][图片] [图片]{
[图片] if (sw != null)
[图片][图片] [图片]{
[图片] sw.Close();
[图片] sw = null;
[图片] }
[图片] }
[图片] }
[图片] #endregion
[图片]
[图片] //-------------
[图片] }
[图片]}
[图片]
3.一般来说并不是所有的错误我们都可以捕获得到,这种情况下,我们可以为Application的ThreadException事件编写错误日志记录功能来实记录下所有在运行时发生的错误...
LogMsg日志记录类下载