Files
FATrace/FATrace.WPLApp/Services/LogService.cs
2026-01-29 22:15:34 +08:00

86 lines
2.7 KiB
C#

using NLog;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FATrace.WPLApp.Services
{
/// <summary>
/// 日志服务
/// </summary>
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;
}
/// <summary>
/// 调试日志
/// </summary>
/// <param name="msg">日志内容</param>
public void Debug(string msg) => Logger.Debug(msg);
public void Debug(string msg, Exception ex) => Logger.Debug(ex, msg);
/// <summary>
/// 信息日志
/// </summary>
/// <param name="msg">日志内容</param>
/// <remarks>
/// 适用大部分场景
/// 1.记录日志文件
/// </remarks>
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);
}
/// <summary>
/// 错误日志
/// </summary>
/// <param name="msg">日志内容</param>
/// <remarks>
/// 适用异常,错误日志记录
/// 1.记录日志文件
/// </remarks>
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);
/// <summary>
/// 严重致命错误日志
/// </summary>
/// <param name="msg">日志内容</param>
/// <remarks>
/// 1.记录日志文件
/// 2.控制台输出
/// </remarks>
public void Fatal(string msg) => Logger.Fatal(msg);
public void Fatal(string msg, Exception ex) => Logger.Fatal(ex, msg);
/// <summary>
/// 警告日志
/// </summary>
/// <param name="msg">日志内容</param>
/// <remarks>
/// 1.记录日志文件
/// 2.发送日志邮件
/// </remarks>
public void Warn(string msg) => Logger.Warn(msg);
public void Warn(string msg, Exception ex) => Logger.Warn(ex, msg);
}
}