1 public class Loger 2 { 3 /// <summary> 4 /// 写入日志 5 /// </summary> 6 /// <param name="content">日志内容</param> 7 /// <param name="title">日志标题</param> 8 /// <param name="folderName">文件夹名称</param> 9 /// <param name="filePrefixName">文件前缀名</param> 10 public static void Write(string content, string title = "", string folderName = "Log", string filePrefixName = "Log") 11 { 12 try 13 { 14 lock (typeof(Loger)) 15 { 16 DateTime dateTimeNow = DateTime.Now; 17 string logDirPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log", folderName); 18 if (!Directory.Exists(logDirPath)) 19 { 20 Directory.CreateDirectory(logDirPath); 21 } 22 23 string logFilePath = string.Format("{0}/{1}-{2}.txt", logDirPath, filePrefixName, dateTimeNow.ToString("yyyy-MM-dd")); 24 using (StreamWriter writer = new StreamWriter(logFilePath, true, Encoding.UTF8)) 25 { 26 try 27 { 28 writer.WriteLine("------------------------------------------------------------------------------------------"); 29 writer.WriteLine(title); 30 writer.WriteLine("日志时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")); 31 writer.WriteLine(content); 32 writer.WriteLine("------------------------------------------------------------------------------------------"); 33 } 34 catch (Exception ex) 35 { 36 Console.WriteLine("Loger.cs Line45" + ex.Message); 37 } 38 39 writer.Close(); 40 } 41 } 42 } 43 catch(Exception ex) 44 { 45 Console.WriteLine("Loger.cs Line54" + ex); 46 //throw new Exception("无法将日志写入文件,请查看安装目录是否有权限!"); 47 } 48 } 49 50 /// <summary> 51 /// 写入日志 52 /// </summary> 53 /// <param name="format">符合格式字符串</param> 54 /// <param name="args">一个对象数组,其中包含零个或多个要设置格式的对象</param> 55 public static void WriteFormat(string format, params object[] args) 56 { 57 string content = string.Format(format, args); 58 Write(content, "", "Log", "Log"); 59 } 60 61 /// <summary> 62 /// 写入日志 63 /// </summary> 64 /// <param name="ex">Exception对象</param> 65 /// <param name="title">日志标题</param> 66 /// <param name="folderName">文件夹名称</param> 67 /// <param name="filePrefixName">文件前缀名</param> 68 public static void Write(Exception ex, string title = "", string folderName = "Exception", string filePrefixName = "Exception") 69 { 70 string content = string.Format("错误信息:{1}{0}错误来源:{2}{0}堆栈信息:{0}{3}", Environment.NewLine, ex.Message, ex.Source, ex.StackTrace); 71 Write(content, title, folderName, filePrefixName); 72 } 73 }