LOG.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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, ModuleName module, params string[] values)
  39. {
  40. var logItem= LogDefineManager.LogItems.Where(x => x.Id == id).FirstOrDefault();
  41. if (logItem != null)
  42. {
  43. string message = ((int)logItem.Id).ToString().PadRight(10)+ module.ToString().PadRight(12) +string.Format(logItem.GlobalDescription_zh, values);
  44. Level level = Level.Undefine;
  45. Enum.TryParse<Level>(logItem.Level, out level);
  46. switch (level)
  47. {
  48. case Level.Debug:
  49. Debug(message);
  50. break;
  51. case Level.Info:
  52. Info(message);
  53. break;
  54. case Level.Warning:
  55. Warning(message);
  56. break;
  57. case Level.Error:
  58. Error(message);
  59. break;
  60. default:
  61. break;
  62. }
  63. }
  64. }
  65. }
  66. }