ErrorLog.cs 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading;
  6. using System.IO;
  7. using AGV_WPF_Global;
  8. namespace AGV_WPF.NewCotent
  9. {
  10. /// <summary>
  11. /// 群创用异常日志文件(AGV异常,非程序异常)
  12. /// </summary>
  13. public class ErrorLog
  14. {
  15. public static Mutex m_Mutex = new Mutex();
  16. public static string m_Directory = "Log";//存放目录
  17. public static string m_ErrorFile = "ErrorLog.txt";//异常文件
  18. static bool m_StaticFileFlag = false;//是否用静态文件
  19. public static void WriteErrorLog(string areaName,int agvNum, int errorCode, DateTime happenedTime, DateTime recoveryTime)
  20. {
  21. m_Mutex.WaitOne();
  22. string filePath = GetFilePath();
  23. if (errorCode > 0 && errorCode < 0x40)
  24. {
  25. errorCode += 1;
  26. StreamWriter writer = new StreamWriter(filePath,true);
  27. //Date,Time,BayNo,AGVNo,ErrorCode,RecoveryTime
  28. //20151220,210234,B,14,1,210531
  29. string msg = string.Format("{0},{1},{2},{3},{4},{5}",happenedTime.ToString("yyyyMMdd"),happenedTime.ToString("HHmmss"),areaName,agvNum,errorCode,recoveryTime.ToString("HHmmss"));
  30. writer.WriteLine(msg);
  31. writer.Close();
  32. }
  33. m_Mutex.ReleaseMutex();
  34. }
  35. public static void WriteErrorLogagv(string a)
  36. {
  37. m_Mutex.WaitOne();
  38. string filePath = GetFilePath();
  39. //if (errorCode > 0 && errorCode < 0x40)
  40. {
  41. // errorCode += 1;
  42. StreamWriter writer = new StreamWriter(filePath, true);
  43. //Date,Time,BayNo,AGVNo,ErrorCode,RecoveryTime
  44. //20151220,210234,B,14,1,210531
  45. //string msg = string.Format("{0},{1},{2},{3},{4},{5}", happenedTime.ToString("yyyyMMdd"), happenedTime.ToString("HHmmss"), areaName, agvNum, errorCode, recoveryTime.ToString("HHmmss"));
  46. writer.WriteLine(a);
  47. writer.Close();
  48. }
  49. m_Mutex.ReleaseMutex();
  50. }
  51. static string GetFilePath()
  52. {
  53. //文件夹是否存在
  54. if(!System.IO.Directory.Exists(m_Directory))
  55. {
  56. System.IO.Directory.CreateDirectory(m_Directory);
  57. }
  58. if (m_StaticFileFlag)
  59. {
  60. return string.Format(@"{0}\{1}", m_Directory, m_ErrorFile);
  61. }
  62. else
  63. {
  64. return string.Format(@"{0}\ErroLog-{1}.txt", m_Directory, DateTime.Now.ToString("yyyyMMdd"));//按日期存放
  65. }
  66. }
  67. }
  68. }