using Fantasy.Platform.Net;
using NLog;
namespace Fantasy
{
///
/// 使用 NLog 实现的日志记录器。
///
public class NLog : ILog
{
private readonly Logger _logger; // NLog 日志记录器实例
///
/// 初始化 NLog 实例。
///
/// 日志记录器的名称。
public NLog(string name)
{
// 获取指定名称的 NLog 日志记录器
_logger = LogManager.GetLogger(name);
}
///
/// 初始化方法
///
///
public void Initialize(ProcessMode processMode)
{
// 非Benchmark模式、根据不同的运行模式来选择日志的方式
switch (processMode)
{
case ProcessMode.Develop:
{
LogManager.Configuration.RemoveRuleByName("ServerDebug");
LogManager.Configuration.RemoveRuleByName("ServerTrace");
LogManager.Configuration.RemoveRuleByName("ServerInfo");
LogManager.Configuration.RemoveRuleByName("ServerWarn");
LogManager.Configuration.RemoveRuleByName("ServerError");
break;
}
case ProcessMode.Release:
{
LogManager.Configuration.RemoveRuleByName("ConsoleTrace");
LogManager.Configuration.RemoveRuleByName("ConsoleDebug");
LogManager.Configuration.RemoveRuleByName("ConsoleInfo");
LogManager.Configuration.RemoveRuleByName("ConsoleWarn");
LogManager.Configuration.RemoveRuleByName("ConsoleError");
break;
}
}
}
///
/// 记录跟踪级别的日志消息。
///
/// 日志消息。
public void Trace(string message)
{
_logger.Trace(message);
}
///
/// 记录警告级别的日志消息。
///
/// 日志消息。
public void Warning(string message)
{
_logger.Warn(message);
}
///
/// 记录信息级别的日志消息。
///
/// 日志消息。
public void Info(string message)
{
_logger.Info(message);
}
///
/// 记录调试级别的日志消息。
///
/// 日志消息。
public void Debug(string message)
{
_logger.Debug(message);
}
///
/// 记录错误级别的日志消息。
///
/// 日志消息。
public void Error(string message)
{
_logger.Error(message);
}
///
/// 记录严重错误级别的日志消息。
///
/// 日志消息。
public void Fatal(string message)
{
_logger.Fatal(message);
}
///
/// 记录跟踪级别的格式化日志消息。
///
/// 日志消息模板。
/// 格式化参数。
public void Trace(string message, params object[] args)
{
_logger.Trace(message, args);
}
///
/// 记录警告级别的格式化日志消息。
///
/// 日志消息模板。
/// 格式化参数。
public void Warning(string message, params object[] args)
{
_logger.Warn(message, args);
}
///
/// 记录信息级别的格式化日志消息。
///
/// 日志消息模板。
/// 格式化参数。
public void Info(string message, params object[] args)
{
_logger.Info(message, args);
}
///
/// 记录调试级别的格式化日志消息。
///
/// 日志消息模板。
/// 格式化参数。
public void Debug(string message, params object[] args)
{
_logger.Debug(message, args);
}
///
/// 记录错误级别的格式化日志消息。
///
/// 日志消息模板。
/// 格式化参数。
public void Error(string message, params object[] args)
{
_logger.Error(message, args);
}
///
/// 记录严重错误级别的格式化日志消息。
///
/// 日志消息模板。
/// 格式化参数。
public void Fatal(string message, params object[] args)
{
_logger.Fatal(message, args);
}
}
}