LOG.cs 2.9 KB

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