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);
}
}
}