零基础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);
        }
    }
}
相关推荐
FAREWELL000751 小时前
C#核心学习(七)面向对象--封装(6)C#中的拓展方法与运算符重载: 让代码更“聪明”的魔法
学习·c#·面向对象·运算符重载·oop·拓展方法
CodeCraft Studio1 小时前
Excel处理控件Spire.XLS系列教程:C# 合并、或取消合并 Excel 单元格
前端·c#·excel
勘察加熊人3 小时前
forms实现连连看
c#
hvinsion3 小时前
PPT助手:一款集计时、远程控制与多屏切换于一身的PPT辅助工具
c#·powerpoint·ppt·ppt助手·ppt翻页
weixin_307779134 小时前
使用C#实现从Hive的CREATE TABLE语句中提取分区字段名和数据类型
开发语言·数据仓库·hive·c#
时光追逐者5 小时前
在 Blazor 中使用 Chart.js 快速创建数据可视化图表
开发语言·javascript·信息可视化·c#·.net·blazor
与火星的孩子对话6 小时前
Unity3D开发AI桌面精灵/宠物系列 【三】 语音识别 ASR 技术、语音转文本多平台 - 支持科大讯飞、百度等 C# 开发
人工智能·unity·c#·游戏引擎·语音识别·宠物
response_L6 小时前
国产系统统信uos和麒麟v10在线打开word给表格赋值
java·c#·word·信创·在线编辑
MasterNeverDown6 小时前
Swagger2Md:让WebAPI文档生成变得轻松高效
c#
向宇it6 小时前
【零基础入门unity游戏开发——2D篇】2D 游戏场景地形编辑器——TileMap的使用介绍
开发语言·游戏·unity·c#·编辑器·游戏引擎