Log.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Web;
  4. using System.IO;
  5. using System.Configuration;
  6. namespace EMISOnline.WinService.Common
  7. {
  8. public class Log
  9. {
  10. //在网站根目录下创建日志目录
  11. public static string path = ConfigurationManager.AppSettings["LogPath"];
  12. /**
  13. * 向日志文件写入调试信息
  14. * @param className 类名
  15. * @param content 写入内容
  16. */
  17. public static void Debug(string className, string content)
  18. {
  19. WriteLog("DEBUG", className, content);
  20. }
  21. /**
  22. * 向日志文件写入运行时信息
  23. * @param className 类名
  24. * @param content 写入内容
  25. */
  26. public static void Info(string className, string content)
  27. {
  28. WriteLog("INFO", className, content);
  29. }
  30. /**
  31. * 向日志文件写入出错信息
  32. * @param className 类名
  33. * @param content 写入内容
  34. */
  35. public static void Error(string className, string content)
  36. {
  37. WriteLog("ERROR", className, content);
  38. }
  39. /**
  40. * 实际的写日志操作
  41. * @param type 日志记录类型
  42. * @param className 类名
  43. * @param content 写入内容
  44. */
  45. protected static void WriteLog(string type, string className, string content)
  46. {
  47. if(!Directory.Exists(path))//如果日志目录不存在就创建
  48. {
  49. Directory.CreateDirectory(path);
  50. }
  51. string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");//获取当前系统时间
  52. string filename = path + "/" + DateTime.Now.ToString("yyyy-MM-dd") + ".log";//用日期对日志文件命名
  53. //创建或打开日志文件,向日志文件末尾追加记录
  54. StreamWriter mySw = File.AppendText(filename);
  55. //向日志文件写入内容
  56. string write_content = time + " " + type + " " + className + ": " + content;
  57. mySw.WriteLine(write_content);
  58. //关闭日志文件
  59. mySw.Close();
  60. }
  61. }
  62. }