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