153 lines
2.7 KiB
C#
153 lines
2.7 KiB
C#
using MAX.Core.Logger;
|
|
using MySqlX.XDevAPI;
|
|
using NLog;
|
|
using System;
|
|
using LLogLevel = MAX.Core.Logger.LogLevel;
|
|
using NLogLevel = NLog.LogLevel;
|
|
|
|
namespace MAX.Framework.Logger
|
|
{
|
|
public class NLogger : ILoggerFacade
|
|
{
|
|
private static NLogger mySelf;//= default(T);
|
|
public static NLogger Instance
|
|
{
|
|
get
|
|
{
|
|
if (mySelf == null)
|
|
{
|
|
mySelf = new NLogger();
|
|
}
|
|
|
|
return mySelf;
|
|
}
|
|
}
|
|
private readonly ILogger _log;
|
|
|
|
private NLogger()
|
|
{
|
|
_log = LogManager.GetCurrentClassLogger();
|
|
}
|
|
|
|
public bool IsDebugEnabled { get; private set; } = true;
|
|
|
|
public void Debug(Exception ex, string message)
|
|
{
|
|
Execute(NLogLevel.Debug, ex, message);
|
|
}
|
|
|
|
public void Debug(string message)
|
|
{
|
|
Execute(NLogLevel.Debug, message);
|
|
}
|
|
public void Error(Exception ex)
|
|
{
|
|
Execute(NLogLevel.Error, ex);
|
|
}
|
|
public void Error(Exception ex, string message)
|
|
{
|
|
Execute(NLogLevel.Error, ex, message);
|
|
}
|
|
|
|
public void Error(string message)
|
|
{
|
|
Execute(NLogLevel.Error, message);
|
|
}
|
|
|
|
public void Fatal(Exception ex, string message)
|
|
{
|
|
Execute(NLogLevel.Fatal, ex, message);
|
|
}
|
|
|
|
public void Fatal(string message)
|
|
{
|
|
Execute(NLogLevel.Fatal, message);
|
|
}
|
|
|
|
public void Info(Exception ex, string message)
|
|
{
|
|
Execute(NLogLevel.Info, ex, message);
|
|
}
|
|
|
|
public void Info(string message)
|
|
{
|
|
Execute(NLogLevel.Info, message);
|
|
}
|
|
|
|
public void Warn(Exception ex, string message)
|
|
{
|
|
Execute(NLogLevel.Warn, ex, message);
|
|
}
|
|
|
|
public void Warn(string message)
|
|
{
|
|
Execute(NLogLevel.Warn, message);
|
|
}
|
|
public void Log(string message, LLogLevel level)
|
|
{
|
|
NLogLevel lv = NLogLevel.Info;
|
|
switch (level)
|
|
{
|
|
case LLogLevel.Trace:
|
|
lv = NLogLevel.Trace;
|
|
break;
|
|
case LLogLevel.Debug:
|
|
lv = NLogLevel.Debug;
|
|
break;
|
|
case LLogLevel.Info:
|
|
lv = NLogLevel.Info;
|
|
break;
|
|
case LLogLevel.Warn:
|
|
lv = NLogLevel.Warn;
|
|
break;
|
|
case LLogLevel.Error:
|
|
lv = NLogLevel.Error;
|
|
break;
|
|
case LLogLevel.Fatal:
|
|
lv = NLogLevel.Fatal;
|
|
break;
|
|
case LLogLevel.None:
|
|
lv = NLogLevel.Off;
|
|
break;
|
|
}
|
|
Execute(lv, message);
|
|
}
|
|
/// <summary>
|
|
/// 是否启用
|
|
/// </summary>
|
|
private bool Enabled(NLogLevel level)
|
|
{
|
|
if (level > NLogLevel.Debug)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
return IsDebugEnabled;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 执行
|
|
/// </summary>
|
|
private void Execute(NLogLevel level, Exception ex, string message = "")
|
|
{
|
|
if (Enabled(level))
|
|
{
|
|
_log.Log(level, ex, message, null);
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 执行
|
|
/// </summary>
|
|
private void Execute(NLogLevel level, string message)
|
|
{
|
|
if (Enabled(level))
|
|
{
|
|
_log.Log(level, message);
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|