using NLog; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FATrace.WPLApp.Services { /// /// 日志服务 /// public class LogService : ILogService { private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); // 初始化日志类 private static bool IsQueryNoise(string msg) { if (string.IsNullOrWhiteSpace(msg)) return false; return msg.IndexOf("查询开始", StringComparison.OrdinalIgnoreCase) >= 0 || msg.IndexOf("查询完成", StringComparison.OrdinalIgnoreCase) >= 0 || msg.IndexOf("记录数", StringComparison.OrdinalIgnoreCase) >= 0; } /// /// 调试日志 /// /// 日志内容 public void Debug(string msg) => Logger.Debug(msg); public void Debug(string msg, Exception ex) => Logger.Debug(ex, msg); /// /// 信息日志 /// /// 日志内容 /// /// 适用大部分场景 /// 1.记录日志文件 /// public void Info(string msg) { if (IsQueryNoise(msg)) return; Logger.Info(msg); } public void Info(string msg, Exception ex) { if (IsQueryNoise(msg)) return; Logger.Info(ex, msg); } /// /// 错误日志 /// /// 日志内容 /// /// 适用异常,错误日志记录 /// 1.记录日志文件 /// public void Error(string msg) => Logger.Error(msg); public void Error(string msg, Exception ex) => Logger.Error(ex, msg); public void Error(Exception ex) => Logger.Error(ex); /// /// 严重致命错误日志 /// /// 日志内容 /// /// 1.记录日志文件 /// 2.控制台输出 /// public void Fatal(string msg) => Logger.Fatal(msg); public void Fatal(string msg, Exception ex) => Logger.Fatal(ex, msg); /// /// 警告日志 /// /// 日志内容 /// /// 1.记录日志文件 /// 2.发送日志邮件 /// public void Warn(string msg) => Logger.Warn(msg); public void Warn(string msg, Exception ex) => Logger.Warn(ex, msg); } }