零基础WPF使用NLog记录日志

使用步骤:

1、NuGet安装NLog.conf包即可,这个包会同时安装其他的依赖包;

2、修改NLog.conf的配置,配置参数参考:NLog详解-CSDN博客

复制代码
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
      autoReload="true"
      throwExceptions="false"
      internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">

  <variable name="myvar" value="myvalue"/>
  <targets>
  <!-- 写入文件的配置 -->
	<target name="info_file" xsi:type="File"
				fileName="${basedir}/logs/info_file.txt"
				archiveFileName="${basedir}/logs/info_file.{###}.txt"
				archiveEvery="Day"
				archiveNumbering="DateAndSequence"
				archiveAboveSize="10000000"
				maxArchiveFiles="90"
				keepFileOpen="true"
				layout="${longdate} ${uppercase:${level}} ${message} ${exception:stacktrace}" />
				
	

  </targets>

  <rules>
      <!-- 记录的级别 -->
    <logger name="*" minlevel="Info" writeTo="info_file" />
   
  </rules>
</nlog>

3、新建一个日志的类,后续方便统一使用打印

复制代码
using System;
using System.Collections.Generic;
using NLog;

namespace XXX项目的命令空间XXX
{
    internal class LoggerHelper
    {
        public static Logger logger = LogManager.GetCurrentClassLogger(); //初始化日志类

       /// <summary>
       /// 
       /// </summary>
       /// <param name="errorFile">错误源文件</param>
       /// <param name="errorMsg">错误消息</param>
       /// <param name="errorFunc">错误函数</param>
        public static void Logger_Debug(string errorFile,string errorMsg ,string errorFunc="")
        {
            string errorStr="调试源文件:《"+errorFile+"》,调试源函数:["+errorFunc+ "],调试信息:" + errorMsg;
            logger.Debug(errorStr);
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="errorFile">错误源文件</param>
        /// <param name="errorMsg">错误消息</param>
        /// <param name="errorFunc">错误函数</param>
        public static void Logger_Info(string errorFile, string errorMsg, string errorFunc = "")
        {
            string errorStr = "源文件:《" + errorFile + "》,源函数:[" + errorFunc + "],信息:" + errorMsg;
            logger.Info(errorStr);
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="errorFile">错误源文件</param>
        /// <param name="errorMsg">错误消息</param>
        /// <param name="errorFunc">错误函数</param>
        public static void Logger_Warn(string errorFile, string errorMsg, string errorFunc = "")
        {
            string errorStr = "警告源文件:《" + errorFile + "》,警告源函数:[" + errorFunc + "],警告信息:" + errorMsg;
            logger.Warn(errorStr);
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="errorFile">错误源文件</param>
        /// <param name="errorMsg">错误消息</param>
        /// <param name="errorFunc">错误函数</param>
        public static void Logger_Error(string errorFile, string errorMsg, string errorFunc = "")
        {
            string errorStr = "错误源文件:《" + errorFile + "》,错误源函数:[" + errorFunc + "],错误信息:" + errorMsg;
            logger.Error(errorStr);
        }
    }
}
相关推荐
cici158741 小时前
C#实现三菱PLC通信
java·网络·c#
CreasyChan4 小时前
Unity Shader 入门指南
unity·c#·游戏引擎·shader
ysdysyn6 小时前
C# Modbus RTU 多从站控制全攻略:一端口,双轴控制
开发语言·c#·mvvm·通讯·modbus rtu
TypingLearn6 小时前
2026年,让.NET再次伟大
windows·c#·.net·sdk·netcore
ServBay7 小时前
.NET 10 与 C# 14 更新速览,代码更少,性能更好
后端·c#·.net
玩泥巴的9 小时前
如何设计易维护、低学习成本的飞书.NET SDK组件
c#·二次开发·飞书·roslyn
Fighting_p10 小时前
【预览word文档】使用插件 docx-preview 预览线上 word 文档
开发语言·c#·word
jiushidt13 小时前
Things About ArcGISPro
arcgis·c#·.net·arcgispro
雪雁14 小时前
CodeSpirit 多语言国际化使用指南(Beta)
c#·asp.net·.net 10·codespirit
自己的九又四分之三站台14 小时前
写一个简单的DebugView
c#