86 lines
2.7 KiB
C#
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);
|
|
}
|
|
}
|