在程序开发过程中,我们经常要记录各种操作信息以及系统信息到日志中,以便于以后查找相关记录或者在遇到程序出现错误时查找错误的原因。一般日志存储于两种介质中:一、存储入数据库,另一种存储于文本文档中。我们最常用的插件有log4.net等。但是对我们日常的小程序来说,它可能过重,所以我自己在自己的开发中写了一个简单的小程序以适应小程序的需要。
为方便自己以后查找,记录代码如下:
1 using System; 2 using System.Collections.Generic; 3 using System.IO; 4 using System.Linq; 5 using System.Text; 6 using System.Threading.Tasks; 7 using System.Web; 8 9 10 11 namespace IST.Common.Utility12 {13 public class LogManager14 {15 ///16 /// 当前目录路径17 /// 18 public static string strPath;19 //public static string strPath = HttpContext.Current.Server.MapPath("\\Log"); //System.Environment.CurrentDirectory;20 21 #region 判断是否存在日志文件夹,没有则创建一个22 ///23 /// 判断是否存在日志文件夹,没有则创建一个24 /// 25 private static string ExsitsDirectory(LogType type)26 {27 string directoryName = strPath + "\\" + type.ToString();28 try29 {30 if (!Directory.Exists(directoryName))31 {32 Directory.CreateDirectory(directoryName);33 }34 }35 catch (Exception ex)36 {37 38 }39 return directoryName;40 }41 #endregion42 43 44 #region 把信息写入日志文件45 ///46 /// 把信息写入日志文件47 /// 48 /// 日志文本49 /// 日志类型50 public static void WriteLog(string errorMsg,LogType type)51 {52 try53 {54 string directoryName = ExsitsDirectory(type);55 string fileName = directoryName + "\\" + DateTime.Now.ToString("yyyyMMdd") + ".log";56 if (!File.Exists(fileName))57 {58 FileStream fs = new FileStream(fileName, FileMode.Create);59 fs.Close();60 }61 StreamWriter sw = File.AppendText(fileName);62 sw.WriteLine("==========" + DateTime.Now.ToString() + " " + errorMsg + "\n");63 sw.Close();64 }65 catch66 {67 68 }69 }70 #endregion71 }72 73 ///74 /// 日志类型,用于区分日志应写入相应的文件中75 /// 76 public enum LogType77 {78 ///79 /// Bug80 /// 81 Bug,82 ///83 /// 错误84 /// 85 Error,86 ///87 /// 信息88 /// 89 Info90 }91 }