.NET_NLog
步骤
1. 添加依赖
①Microsoft.Extensions.DependencyInjection
②NLog.Extensions.Logging(或Microsoft.Extensions.Logging.___)
Tutorial · NLog/NLog Wiki · GitHub
2.添加nlog.config文件(默认名称, 可改为其他名称, 但需要另行配置)
文件的基础格式可从此处获取: Tutorial · NLog/NLog Wiki · GitHubNLog - Advanced and Structured Logging for Various .NET Platforms - Tutorial · NLog/NLog Wiki
https://github.com/NLog/NLog/wiki/Tutorial#configure-nlog-targets-for-output格式参考(关于config文件的说明在注释部分):
<?xml version="1.0" encoding="utf-8" ?>
<!-- XSD manual extracted from package NLog.Schema: https://www.nuget.org/packages/NLog.Schema-->
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xsi:schemaLocation="NLog NLog.xsd"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"autoReload="true"internalLogFile="logs/console-example-internal.log"internalLogLevel="Info" ><!-- the targets to write to --><targets><!-- write logs to file --><!-- archiveAboveSize: 日志文件的最大体积(字节数)|maxArchiveFiles: 日志文件的最大数量|maxArchiveDays: 日志文件的最大天数 --><target xsi:type="File" name="logfile" fileName="logs/console-example.log"layout="${longdate}|${level}|${message} |${all-event-properties} ${exception:format=tostring}" /><target xsi:type="Console" name="logconsole"layout="${longdate}|${level}|${message} |${all-event-properties} ${exception:format=tostring}" /></targets><!-- rules to map from logger name to target --><rules><!-- 从上至下依次匹配 --><!-- name: 匹配规则(类名)|minlevel: 最小日志输出等级|maxlevel: 最大日志输出等级|writeTo: 日志输出文件|final=true: 若匹配成功则不再向下匹配 --><logger name="*" minlevel="Trace" writeTo="logfile,logconsole"/></rules>
</nlog>
3.将nlog.config文件设置为"始终复制"或在项目设置页中将"Never"改为"Always"


示例
Program.cs
internal class Program
{static void Main(string[] args){ServiceCollection services = new();services.AddLogging(logBuilder=> {//logBuilder.AddConsole(); // Microsoft.Extensions.Logging//logBuilder.SetMinimumLevel(LogLevel.Debug); // Microsoft.Extensions.LogginglogBuilder.AddNLog();});services.AddScoped<Example_1>();using ServiceProvider serviceProvider = services.BuildServiceProvider();Example_1 example_1 = serviceProvider.GetRequiredService<Example_1>();example_1.Start();}
}
Example_1.cs
internal class Example_1
{ILogger<Example_1> logger;public Example_1(ILogger<Example_1> logger){this.logger = logger;}public void Start(){logger.LogDebug("运行中...");try{File.ReadAllText("A:\\text.txt");logger.LogDebug("文件读取成功");}catch (Exception e){logger.LogError(e, "发生错误");}logger.LogDebug("结束");}
}
运行效果


相关文章:
.NET_NLog
步骤 1. 添加依赖 ①Microsoft.Extensions.DependencyInjection ②NLog.Extensions.Logging(或Microsoft.Extensions.Logging.___) Tutorial NLog/NLog Wiki GitHub 2.添加nlog.config文件(默认名称, 可改为其他名称, 但需要另行配置) 文件的基础…...
Linux查看进程命令ps和top
Linux 是一种自由和开放源代码的操作系统,它的使用在全球范围内非常广泛。在 Linux 中,进程是操作系统中最重要的组成部分之一,它代表了正在运行的程序。了解如何查看正在运行的进程是非常重要的,因为它可以帮助你了解系统的运行状…...
深入解析Wireshark1:从捕获到分析,一网打尽数据包之旅
目录 1 认识 Wireshark 1.1 选择网卡界面 1.2 捕获数据包界面 1.3 常用按钮功能介绍 1.4 数据包列表信息 1.5 数据包详细信息 2 数据包案例分析 Frame: 物理层的数据帧概况 Ethernet II: 数据链路层以太网帧头部信息 Internet Protocol Version 4 (IPv4): 互联网层IP…...
C++语法|指向类成员(成员变量和成员方法)的指针及其相关应用场景
文章目录 1.基本语法指向成员变量的指针示例 指向成员函数的指针示例 注意事项 2.应用场景泛型编程和模板:通用成员访问打印函数回调机制和事件处理:基于简单GUI框架的事件处理 1.基本语法 指向类成员的指针是一种特殊的指针类型,用于指向类…...
【C语言】通讯录系统实现
目录 1、通讯录系统介绍 2、代码分装 3、代码实现步骤 3.1制作菜单函数以及游戏运行逻辑流程 3.2、封装人的信息PeoInfo以及通讯录Contact结构体类型 3.3、初始化通讯录InitContact函数 3.4、增加联系人AddContact函数 3.5、显示所有联系人ShowContact函数 3.6、删除联系人D…...
(delphi11最新学习资料) Object Pascal 学习笔记---第12章第1节 ( 类静态方法与Windows API回调)
12.1.4 类静态方法与Windows API回调 静态类方法没有隐藏的Self参数意味着静态类方法可以作为回调函数传递给操作系统(例如,在Windows上)。实际上,您可以声明一个具有stdcall调用约定的静态类方法,并将其用作直接的…...
第一个Rust程序
在安装好Rust以后,我们就可以编写程序了。 首先,我们执行下面的命令,尽量让你的rust版本和我的版本相同,或者比我的版本大。 zhangdapengzhangdapeng:~$ cargo --version cargo 1.78.0 (54d8815d0 2024-03-26) zhangdapengzhangd…...
【LInux】<基础IO> 文件操作 | 文件描述符 | 重定向
👦个人主页:Weraphael ✍🏻作者简介:目前正在学习c和算法 ✈️专栏:Linux 🐋 希望大家多多支持,咱一起进步!😁 如果文章有啥瑕疵,希望大佬指点一二 如果文章对…...
MySQL--增、删、改、查,
数据库的概述、发展、现状、历史、分类 MySQL关系型数据库、架构(C/S) window系统安装MySQL数据库 Linux系统【选学】 数据库对象——数据库(database) show、create、drop命令 数据库对象——表(tableÿ…...
5.12学习总结
一.JAVA聊天室项目 文件发送 使用 Java Socket 实现聊天内容或文件的传输的原理如下: 服务器端启动:聊天室的服务器端在指定的端口上监听客户端的连接。它创建一个 ServerSocket 对象,并通过调用 accept() 方法等待客户端的连接请求。客户…...
ansible利用playbook 部署lamp架构
搭建参考:ansible批量运维管理-CSDN博客 定义ansible主机清单 [rootansible-server ~]# vim /etc/hosts 192.168.200.129 host01 192.168.200.130 host02 [rootansible-server ~]# vim /etc/ansible/hosts [webserver] host01 host02 在ansible端编写index.html…...
SPI通信(使用SPI读写W25Q64)
SPI通信协议 • SPI(Serial Peripheral Interface)是由Motorola公司开发的一种通用数据总线 • 四根通信线: SCLK:串行时钟线,用来提供时钟信号的。 MOSI:主机输出,从机输入 MISO:从机输出,主机输入 SS:…...
<sa8650>QCX Usecase 使用详解—拓扑图 XML 定义
<sa8650>QCX Usecase 使用详解—拓扑图 XML 定义 一 、前言二、拓扑图 XML 定义2.1 <Node, port, link>2.2 < XML prolog >2.3 < UsecaseDef >2.4 < Usecase>2.5 < Targets>2.5.1 < Target>2.5.2 < Range>2.6 < Pipeline>2.…...
使用C++11实现Golang的defer功能
本文主要用C11标准来实现Golang的defer功能。 背景 目前笔者的主力语言是Golang,其次是C,再次是JS、Delphi。在Golang工程中大量使用了defer关键字实现函数的延迟调用。如打开文件的出错处理。近来在C工程中遇到类似需求,在函数返回时进行某…...
前端之电力系统SVG图低代码
其实所有的图形都是由点,线,面组成的。点线面可以组成一个设备。下面就简单讲讲点线面是怎么画的吧 对于线,可以用path <g><path:d"M ${beginX},${beginY} L ${endX},${endY}":stroke-width"lineWidth":strok…...
括号生成[中等]
优质博文:IT-BLOG-CN 一、题目 数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n 3 输出:["((()))","(()())","(())(…...
配置ubuntu的VNC时遇到报错_XSERVTransmkdir: Mode of /tmp/.X11-unix should be set to 1777
现在win11内嵌了ubuntu系统,我在根据打造基于 VNC 的 Ubuntu 20.04 的远程桌面 配置VNC server时,到了 vncserver :1 这一步,遇到报错: vncserver: /usr/bin/Xtigervnc did not start up, please look into /root/.vnc/xxxxx.:1.…...
openstack部署nova中出现的问题:
[rootcontroller nova]# su -s /bin/sh -c “nova-manage db sync” nova /usr/lib/python2.7/site-packages/pymysql/cursors.py:170: Warning: (1831, u’Duplicate index block_device_mapping_instance_uuid_virtual_name_device_name_idx. This is deprecated and will be…...
【OpenCV 基础知识 3】边缘检测
文章目录 cvCanny完整示例代码 cvCanny 这行代码使用OpenCV库中的 cvCanny 函数对灰度图像进行边缘检测。让我解释一下: cvCanny(gray, dst, 10, 100, 3);gray: 这是输入的灰度图像,即要进行边缘检测的图像。dst: 这是输出的边缘图像,即将结…...
拓宽知识储备量(指数级成长)
对于增强自己的知识储备,不是什么知识都往脑袋里去塞,最好的办法就是让自己的心态回到自己初心的时候,始终保值一颗学者的心,你像那些成功人士,比如格力,华为,腾讯等这样的大公司创始人哪个不是…...
NSGA-III中的参考点生成与多样性维护机制解析
1. NSGA-III算法中的参考点是什么? 第一次接触NSGA-III算法时,最让我困惑的就是这个"参考点"概念。简单来说,参考点就像是多目标优化问题中的导航灯塔,它们均匀分布在目标空间里,指引算法找到分布均匀的解集…...
Comsol模拟土壤中冰的融化过程:奇妙的微观世界之旅
comsol模拟土壤中冰的融化过程模型 在天气升温过程中,土壤表层的冰融化,深入土壤中,同时随着水流的渗入,土壤中的冰夹杂物融化,采用达西定律与包含相变的“多孔介质传热”接口相耦合,可以模拟土壤中冰夹杂物…...
Qwen3-14B WebUI权限分级:管理员/普通用户/只读访客三类角色配置
Qwen3-14B WebUI权限分级:管理员/普通用户/只读访客三类角色配置 1. 权限分级的重要性与场景需求 在私有化部署Qwen3-14B模型时,企业或团队通常需要根据不同成员的职责分配不同的操作权限。合理的权限分级能够: 保障系统安全:防…...
3个步骤彻底释放惠普游戏本性能:OmenSuperHub终极指南
3个步骤彻底释放惠普游戏本性能:OmenSuperHub终极指南 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度,自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 还在为官方Omen Gaming Hub的臃肿体积和…...
WPF新手村教程(七)—— 终章(MVVM架构初见杀)
前言 在使用 kubectl get $KIND -o yaml 查看 k8s 资源时,输出结果中包含大量由集群自动生成的元数据(如 managedFields、resourceVersion、uid 等)。这些信息在实际复用 yaml 清单时需要手动清理,增加了额外的工作量。 使用 ku…...
3种突破Cursor Pro限制的创新方案:解锁AI编程全功能体验
3种突破Cursor Pro限制的创新方案:解锁AI编程全功能体验 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your t…...
卡诺图简化逻辑函数详解
你提供的图片是数字逻辑电路教材中关于**卡诺图(Karnaugh Map)**的内容,主要讲解如何用卡诺图表示和化简逻辑函数。下面我为你逐部分解释:📌 一、核心概念:什么是卡诺图?卡诺图是一种图形化工具…...
FreeCache内存管理终极指南:零GC开销的预分配机制详解
FreeCache内存管理终极指南:零GC开销的预分配机制详解 【免费下载链接】freecache A cache library for Go with zero GC overhead. 项目地址: https://gitcode.com/gh_mirrors/fr/freecache 在Go语言开发中,内存管理和垃圾回收(GC&am…...
Loop:3分钟快速掌握Mac窗口管理终极方案
Loop:3分钟快速掌握Mac窗口管理终极方案 【免费下载链接】Loop Window management made elegant. 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop Loop是一款免费开源的Mac窗口管理工具,通过径向菜单和智能快捷键系统,让窗口…...
[开源工具]问题解决指南:Axure本地化方案的效率提升实践
[开源工具]问题解决指南:Axure本地化方案的效率提升实践 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 作为原型设计…...
