using NLog; namespace Procurement.Core { /// /// Nlog日志帮助类 /// public class NLogHelper { #region 初始化 readonly Logger _logger; private NLogHelper(Logger logger) { this._logger = logger; } /// /// 自定义Logger,否则用默认的GetCurrentClassLogger /// /// public NLogHelper(string name) : this(LogManager.GetLogger(name)) { } /// /// 默认 ${logger} (Default 文件夹下) /// public static NLogHelper Default { get; private set; } static NLogHelper() { Default = new NLogHelper(LogManager.GetCurrentClassLogger()); } #endregion /// /// 写日志 /// /// 类别 /// 动作 /// 消息 public void Info(string type, string action, string message) { Log(LogLevel.Info, type, action, message); } /// /// 写错误日志 /// /// 类别 /// 动作 /// 消息 public void Error(string type, string action, string message) { Log(LogLevel.Error, type, action, message); } private void Log(LogLevel level, string type, string action, string message) { LogEventInfo lei = new LogEventInfo(); lei.Properties["Type"] = type; lei.Properties["Action"] = action; lei.Message = message; lei.Level = level; _logger.Log(lei); } } }