NLogHelper.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using NLog;
  2. namespace Procurement.Core
  3. {
  4. /// <summary>
  5. /// Nlog日志帮助类
  6. /// </summary>
  7. public class NLogHelper
  8. {
  9. #region 初始化
  10. readonly Logger _logger;
  11. private NLogHelper(Logger logger)
  12. {
  13. this._logger = logger;
  14. }
  15. /// <summary>
  16. /// 自定义Logger,否则用默认的GetCurrentClassLogger
  17. /// </summary>
  18. /// <param name="name"></param>
  19. public NLogHelper(string name) : this(LogManager.GetLogger(name))
  20. {
  21. }
  22. /// <summary>
  23. /// 默认 ${logger} (Default 文件夹下)
  24. /// </summary>
  25. public static NLogHelper Default { get; private set; }
  26. static NLogHelper()
  27. {
  28. Default = new NLogHelper(LogManager.GetCurrentClassLogger());
  29. }
  30. #endregion
  31. /// <summary>
  32. /// 写日志
  33. /// </summary>
  34. /// <param name="type">类别</param>
  35. /// <param name="action">动作</param>
  36. /// <param name="message">消息</param>
  37. public void Info(string type, string action, string message)
  38. {
  39. Log(LogLevel.Info, type, action, message);
  40. }
  41. /// <summary>
  42. /// 写错误日志
  43. /// </summary>
  44. /// <param name="type">类别</param>
  45. /// <param name="action">动作</param>
  46. /// <param name="message">消息</param>
  47. public void Error(string type, string action, string message)
  48. {
  49. Log(LogLevel.Error, type, action, message);
  50. }
  51. private void Log(LogLevel level, string type, string action, string message)
  52. {
  53. LogEventInfo lei = new LogEventInfo();
  54. lei.Properties["Type"] = type;
  55. lei.Properties["Action"] = action;
  56. lei.Message = message;
  57. lei.Level = level;
  58. _logger.Log(lei);
  59. }
  60. }
  61. }