零基础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);}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/501976.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ESP32-C3环境搭建

参考第二讲 ubuntu下的ESP-IDF开发环境搭建_哔哩哔哩_bilibili 宸芯IOT中的资料搭建 因为我买的板子是ESP32C3&#xff0c;所以没有完全按照教程去设置环境&#xff0c;但是也成功。 一、下载ubuntu系统以及esp-idf https://cn.ubuntu.com/download/server/step1 在以上链接…

解决npm报错:sill idealTree buildDeps

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 报错信息 使用 npm 安装依赖时报错&#xff1a;sill idealTree buildDeps 解决方案 请按照以下步骤进行相关操作&#xff1a; 1、删除 C:\Users{账户}\ 文件夹中的 .npm…

【NX入门篇】

NX入门篇 一、UG NX 由来二、软件如何启动&#xff08;UG NX 12.0&#xff09;三、使用步骤四、常用命令 一、UG NX 由来 UG NX由来&#xff1a; 1969 年&#xff1a;UG 的开发始于美国麦道航空公司&#xff0c;基于 C 语言开发实现&#xff1b;1976 年&#xff1a;UG问世&am…

如何在 VSCode 中配置 C++ 开发环境:详细教程

如何在 VSCode 中配置 C 开发环境&#xff1a;详细教程 在软件开发的过程中&#xff0c;选择一个合适的开发环境是非常重要的。Visual Studio Code&#xff08;VSCode&#xff09;作为一款轻量级的代码编辑器&#xff0c;凭借其强大的扩展性和灵活性&#xff0c;受到许多开发者…

超越YOLO11!DEIM:先进的实时DETR目标检测

DEIM: DETR with Improved Matching for Fast Convergence arXiv: https://arxiv.org/abs/2412.04234 Project webpage&#xff1a;https://www.shihuahuang.cn/DEIM/ GitHub&#xff1a;https://github.com/ShihuaHuang95/DEIM 1 背景&#xff1a;DETR目标检测框架 目标检…

《GICv3_Software_Overview_Official_Release_B》学习笔记

1.不同版本的 GIC 架构及其主要功能如下图所示&#xff1a; 2.GICv2m&#xff08;Generic Interrupt Controller Virtualization Model&#xff09;是针对ARM架构的GIC&#xff08;通用中断控制器&#xff09;的一种扩展&#xff0c; GICv2m扩展为虚拟化环境中的中断管理提供了…

PADS Logic原理图中有很多页原理图,如何(怎样)删除其中一页或者多页

我们在进行PADS Logic进行原理图设计的时候&#xff0c;有时候可能遇到一次性设计了很多页的原理图&#xff0c;比如说十几页的原理图。那么我们在进行PADS Layout的时候&#xff0c;可能将这些原理图绘制两块板或者多块PCB板&#xff0c;那么这时候我们需要将其中的一张原理图…

网络安全的学习与实践经验(附资料合集)

学习资源 在线学习平台&#xff1a; Hack This Site&#xff1a;提供从初学者到高级难度的挑战任务&#xff0c;适合练习各种网络安全技术。XCTF_OJ&#xff1a;由XCTF组委会开发的免费在线网络安全网站&#xff0c;提供丰富的培训材料和资源。SecurityTube&#xff1a;提供丰…

问题清除指南|关于num_classes与 BCELoss、BCEWithLogitsLoss 和 CrossEntropyLoss 的关系

前言&#xff1a;关于「 num_classes 1 」引发的探究。 2024年尾声&#xff0c;学弟问到一个问题&#xff1a;在研究工作 CNNDetection 的github开源代码 networks/trainer.py 文件的 line 27 self.model resnet50(num_classes1) 中&#xff0c;变量 num_classes 的值为1&…

CSS——1.优缺点

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><link rel"stylesheet" type"text/css" href"1-02.css"/></head><body><!--css&#xff1a;层叠样式表…

ETCD渗透利用指南

目录 未指定使用put操作报错 未指定操作版本使用get报错 首先etcd分为两个版本v2和v3&#xff0c;不同的API结果无论是访问URL还是使用etcdctl进行通信&#xff0c;都会导致问题&#xff0c;例如使用etcdctl和v3进行通信&#xff0c;如果没有实名ETCDCTL_API3指定API版本会直接…

开源数据集成平台白皮书重磅发布《Apache SeaTunnel 2024用户案例合集》!

2025年新年临近&#xff0c;Apache SeaTunnel 社区用户案例精选&#x1f4d8;也跟大家见面啦&#xff01;在过去的时间里&#xff0c;SeaTunnel 社区持续成长&#xff0c;吸引了众多开发者的关注与支持。 为了致谢一路同行的伙伴&#xff0c;也为了激励更多人加入技术共创&…

【RTD MCAL 篇3】 K312 MCU时钟系统配置

【RTD MCAL 篇3】 K312 MCU时钟系统配置 一&#xff0c;文档简介二&#xff0c; 时钟系统理论与配置2.1 K312 时钟系统2.1.1 PLL2.1.2 MUX_0系统2.1.3 MUX_6 时钟输出2.1.4 option B推荐方案 2.2 EB 配置2.2.1 General 配置2.2.2 McuClockSettingConfig配置2.2.2.1 McuFIRC配置…

vite-plugin-imagemin安装问题

vite-plugin-imagemin 是一款图片资源压缩插件,能够在打包的时候显著的降低图片资源占用。不过,在安装过程中我们遇到了如下的问题。 对于上面的问题,有以下几种常见的解决方案: 1,使用 yarn 在 package.json 内配置(推荐) 打开 package.json 配置文件,然后添加如下脚本…

c-动态内存管理 (动态内存管理比较深入的分析和理解博客总结)

本节博客主要是堆C语言动态内存管理进行一定深度的谈论, 主要谈论主题请见目录~ 目录 1. 复习 与 铺垫(动态内存管理基本知识)1.1 什么是动态内存管理(基本代码)?1.2 为什么要有动态内存管理?1.3 什么是野指针? 2. C程序地址空间分布2.1 两者的空间是如上图所示的吗? 我们验…

【JVM】总结篇-运行时内存篇

文章目录 JVM内存模型&#xff08;内存结构&#xff09;程序计数器 pc虚拟机栈本地方法栈 native堆堆空间堆中一些JVM参数堆中垃圾回收过程MinorGC MajorGC FullGC年轻代GC(Minor GC)触发机制&#xff1a;老年代GC&#xff08;Major GC/Full GC&#xff09;触发机制&#xff1a…

Tableau数据可视化与仪表盘搭建-安装教程

下载 tableau.com/zh-cn/support/releases 滚动到最下方的下载 在下载的同时 我们点击登录&#xff0c;去注册一个tableau的账号 下面点击我们下载好的tableau安装程序 不要自定义安装&#xff0c;会有路径问题 点击试用14天 点击激活 激活学生 tableau.com/zh-cn/academic…

GitHub的简单操作

引言 今天开始就要开始做项目了&#xff0c;上午是要把git搭好。搭的过程中遇到好多好多的问题。下面就说一下git的简单操作流程。我们是使用的GitHub,下面也就以这个为例了 一、GitHub账号的登录注册 https://github.com/ 通过这个网址可以来到GitHub首页 点击中间绿色的S…

【2025最新计算机毕业设计】基于Spring Boot+Vue影院购票系统(高质量源码,提供文档,免费部署到本地)

作者简介&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流。✌ 主要内容&#xff1a;&#x1f31f;Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能…

数据安全防护

数据安全防护有几个层面 边界安全 网络防火墙负责的部分 认证 kerberos负责的部分 授权 识别用户是否有访问某个模块的权限 认证是kerberos负责的事情 1. 客户端请求认证服务器&#xff0c;希望得到访问服务端票据的票据 2.客户端拿到访问服务端票据的票据后&#xff0c;去…