using CapMachine.Wpf.PrismEvent; using NLog; using Prism.Events; using Prism.Services.Dialogs; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CapMachine.Wpf.Services { /// /// NLog 服务 /// public class LogService : ILogService { private static Logger Logger = LogManager.GetCurrentClassLogger(); //初始化日志类 public IEventAggregator EventAggregator { get; } /// /// NLog服务构造函数 /// public LogService(IEventAggregator eventAggregator) { EventAggregator = eventAggregator; } /// /// 调试日志 /// /// 日志内容 public void Debug(string msg) { Logger.Debug(msg); } /// /// 信息日志 /// /// 日志内容 /// /// 适用大部分场景 /// 1.记录日志文件 /// public void Info(string msg) { Logger.Info(msg); } /// /// 错误日志 /// /// 日志内容 /// /// 适用异常,错误日志记录 /// 1.记录日志文件 /// public void Error(string msg) { Logger.Error(msg); //发布错误状态消息,给页脚显示用 EventAggregator.GetEvent().Publish(new ErrStateMsg() { ErrMsg=msg}); } /// /// 严重致命错误日志 /// /// 日志内容 /// /// 1.记录日志文件 /// 2.控制台输出 /// public void Fatal(string msg) { Logger.Fatal(msg); } /// /// 警告日志 /// /// 日志内容 /// /// 1.记录日志文件 /// 2.发送日志邮件 /// public void Warn(string msg) { try { Logger.Warn(msg); } catch { } } } }