LOG.cs 2.3 KB

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