Nav apraksta

WeiBoLog.cs 3.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. namespace CallCenter.Utility
  8. {
  9. public class WeiBoLog
  10. {
  11. private string logFile;
  12. private StreamWriter writer;
  13. private FileStream fileStream = null;
  14. public WeiBoLog(string fileName)
  15. {
  16. logFile = fileName;
  17. CreateDirectory(logFile);
  18. }
  19. /// <summary>
  20. /// //Log log = new Log(AppDomain.CurrentDomain.BaseDirectory + @"log\Log.txt");
  21. //log.log("secces:" + JsonString);
  22. /// </summary>
  23. /// <param name="info"></param>
  24. public void log(string info)
  25. {
  26. try
  27. {
  28. System.IO.FileInfo fileInfo = new System.IO.FileInfo(logFile);
  29. if (!fileInfo.Exists)
  30. {
  31. fileStream = fileInfo.Create();
  32. writer = new StreamWriter(fileStream);
  33. }
  34. else
  35. {
  36. fileStream = fileInfo.Open(FileMode.Append, FileAccess.Write);
  37. writer = new StreamWriter(fileStream);
  38. }
  39. writer.WriteLine(DateTime.Now + ": " + info);
  40. }
  41. finally
  42. {
  43. if (writer != null)
  44. {
  45. writer.Close();
  46. writer.Dispose();
  47. fileStream.Close();
  48. fileStream.Dispose();
  49. }
  50. }
  51. }
  52. public void CreateDirectory(string infoPath)
  53. {
  54. DirectoryInfo directoryInfo = Directory.GetParent(infoPath);
  55. if (!directoryInfo.Exists)
  56. {
  57. directoryInfo.Create();
  58. }
  59. }
  60. public static void WriteLog(string strLog)
  61. {
  62. //string sFilePath = System.Web.HttpContext.Current.Server.MapPath("\\Log\\" + DateTime.Now.ToString("yyyyMM"));
  63. string sFilePath = AppDomain.CurrentDomain.BaseDirectory + "Log\\" + DateTime.Now.ToString("yyyyMM");
  64. string sFileName = "rizhi" + DateTime.Now.ToString("yyyyMM") + ".txt";
  65. sFileName = sFilePath + "\\" + sFileName; //文件的绝对路径
  66. if (!Directory.Exists(sFilePath))//验证路径是否存在
  67. {
  68. Directory.CreateDirectory(sFilePath);
  69. //不存在则创建
  70. }
  71. FileStream fs;
  72. StreamWriter sw;
  73. if (File.Exists(sFileName))
  74. //验证文件是否存在,有则追加,无则创建
  75. {
  76. fs = new FileStream(sFileName, FileMode.Append, FileAccess.Write);
  77. }
  78. else
  79. {
  80. fs = new FileStream(sFileName, FileMode.Create, FileAccess.Write);
  81. }
  82. sw = new StreamWriter(fs);
  83. sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss") + " --- " + strLog + "\r\n");
  84. sw.Close();
  85. fs.Close();
  86. }
  87. }
  88. }