LOG.cs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. using Aitex.Core.RT.SCCore;
  2. using System;
  3. using System.Linq;
  4. using MECF.Framework.Common.Equipment;
  5. using System.Text;
  6. namespace Aitex.Core.RT.Log
  7. {
  8. public static class LOG
  9. {
  10. public enum Level
  11. {
  12. Undefine,
  13. Debug,
  14. Info,
  15. Warning,
  16. Error
  17. }
  18. public static ICommonLog InnerLogger { set; private get; }
  19. private static void Debug(string message)
  20. {
  21. if (InnerLogger != null && SC.GetValue<bool>("System.IsOpenDebugLog") ==true)
  22. InnerLogger.Debug(message);
  23. }
  24. private static void Info(string message)
  25. {
  26. if (InnerLogger != null)
  27. InnerLogger.Info(message);
  28. }
  29. private static void Warning(string message)
  30. {
  31. if (InnerLogger != null)
  32. InnerLogger.Warning(message);
  33. }
  34. private static void Error(string message)
  35. {
  36. if (InnerLogger != null)
  37. InnerLogger.Error(message);
  38. }
  39. public static void Write(eEvent id, string module, params string[] values)
  40. {
  41. Write(id, ModuleHelper.Converter(module), values);
  42. }
  43. public static void WriteExeption(Exception ex)
  44. {
  45. Write(eEvent.ERR_EXCEPTION, ModuleName.System, ex.Message);
  46. }
  47. public static void WriteExeption(string prefix, Exception ex)
  48. {
  49. Write(eEvent.ERR_EXCEPTION, ModuleName.System, prefix + ex.Message);
  50. }
  51. public static void Write(eEvent id, ModuleName module, params string[] values)
  52. {
  53. var logItem= LogDefineManager.LogItems?.Where(x => x.Id == id).FirstOrDefault();
  54. if (logItem != null)
  55. {
  56. //var item= ((int)logItem.Id).ToString().PadLeft(10);
  57. //var item1 = module.ToString().PadLeft(12);
  58. //var item = string.Format(logItem.GlobalDescription_zh, values);
  59. StringBuilder text = new StringBuilder();
  60. text.Append(((int)logItem.Id).ToString().PadLeft(6));
  61. text.Append(module.ToString().PadLeft(8));
  62. text.Append(" ");
  63. text.Append(string.Format(logItem.GlobalDescription_zh, values));
  64. //var count = item.Length + item1.Length;
  65. //string message = ((int)logItem.Id).ToString().PadLeft(10)+ module.ToString().PadLeft(12) +string.Format(logItem.GlobalDescription_zh, values);
  66. string message = text.ToString();
  67. //test += (message + "\r\n");
  68. Level level = Level.Undefine;
  69. Enum.TryParse<Level>(logItem.Level, out level);
  70. switch (level)
  71. {
  72. case Level.Debug:
  73. Debug(message);
  74. break;
  75. case Level.Info:
  76. Info(message);
  77. break;
  78. case Level.Warning:
  79. Warning(message);
  80. break;
  81. case Level.Error:
  82. Error(message);
  83. break;
  84. default:
  85. break;
  86. }
  87. }
  88. }
  89. }
  90. }