LoggerAccessor.cs 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using Grpc.Extension.Abstract.Model;
  2. using System;
  3. namespace Grpc.Extension.Abstract
  4. {
  5. /// <summary>
  6. /// 日志访问
  7. /// </summary>
  8. public class LoggerAccessor
  9. {
  10. /// <summary>
  11. /// LoggerError
  12. /// </summary>
  13. /// <param name="ex"></param>
  14. /// <param name="logType"></param>
  15. public delegate void LoggerErrorAction(Exception ex, LogType logType = LogType.ServerLog);
  16. /// <summary>
  17. /// LoggerMonitor
  18. /// </summary>
  19. /// <param name="msg"></param>
  20. /// <param name="logType"></param>
  21. public delegate void LoggerMonitorAction(string msg, LogType logType = LogType.ServerLog);
  22. private static Lazy<LoggerAccessor> instance = new Lazy<LoggerAccessor>(() => new LoggerAccessor(), true);
  23. /// <summary>
  24. /// Instance
  25. /// </summary>
  26. public static LoggerAccessor Instance
  27. {
  28. get { return instance.Value; }
  29. }
  30. private LoggerAccessor()
  31. {
  32. }
  33. /// <summary>
  34. /// 写异常日志
  35. /// </summary>
  36. public event LoggerErrorAction LoggerError;
  37. /// <summary>
  38. /// 触发写异常日志
  39. /// </summary>
  40. /// <param name="ex"></param>
  41. /// <param name="logType"></param>
  42. public void OnLoggerError(Exception ex, LogType logType = LogType.ServerLog)
  43. {
  44. LoggerError?.Invoke(ex, logType);
  45. }
  46. /// <summary>
  47. /// 写监控日志
  48. /// </summary>
  49. public event LoggerMonitorAction LoggerMonitor;
  50. /// <summary>
  51. /// 触发写监控日志
  52. /// </summary>
  53. /// <param name="msg"></param>
  54. /// <param name="logType"></param>
  55. public void OnLoggerMonitor(string msg, LogType logType = LogType.ServerLog)
  56. {
  57. LoggerMonitor?.Invoke(msg, logType);
  58. }
  59. }
  60. }