当前位置: 首页 > news >正文

.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 Wikiicon-default.png?t=N7T8https://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&#xff08;或Microsoft.Extensions.Logging.___&#xff09; Tutorial NLog/NLog Wiki GitHub 2.添加nlog.config文件(默认名称, 可改为其他名称, 但需要另行配置) 文件的基础…...

Linux查看进程命令ps和top

Linux 是一种自由和开放源代码的操作系统&#xff0c;它的使用在全球范围内非常广泛。在 Linux 中&#xff0c;进程是操作系统中最重要的组成部分之一&#xff0c;它代表了正在运行的程序。了解如何查看正在运行的进程是非常重要的&#xff0c;因为它可以帮助你了解系统的运行状…...

深入解析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.应用场景泛型编程和模板&#xff1a;通用成员访问打印函数回调机制和事件处理&#xff1a;基于简单GUI框架的事件处理 1.基本语法 指向类成员的指针是一种特殊的指针类型&#xff0c;用于指向类…...

【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参数意味着静态类方法可以作为回调函数传递给操作系统&#xff08;例如&#xff0c;在Windows上&#xff09;。实际上&#xff0c;您可以声明一个具有stdcall调用约定的静态类方法&#xff0c;并将其用作直接的…...

第一个Rust程序

在安装好Rust以后&#xff0c;我们就可以编写程序了。 首先&#xff0c;我们执行下面的命令&#xff0c;尽量让你的rust版本和我的版本相同&#xff0c;或者比我的版本大。 zhangdapengzhangdapeng:~$ cargo --version cargo 1.78.0 (54d8815d0 2024-03-26) zhangdapengzhangd…...

【LInux】<基础IO> 文件操作 | 文件描述符 | 重定向

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和算法 ✈️专栏&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指点一二 如果文章对…...

MySQL--增、删、改、查,

数据库的概述、发展、现状、历史、分类 MySQL关系型数据库、架构&#xff08;C/S&#xff09; window系统安装MySQL数据库 Linux系统【选学】 数据库对象——数据库&#xff08;database&#xff09; show、create、drop命令 数据库对象——表&#xff08;table&#xff…...

5.12学习总结

一.JAVA聊天室项目 文件发送 使用 Java Socket 实现聊天内容或文件的传输的原理如下&#xff1a; 服务器端启动&#xff1a;聊天室的服务器端在指定的端口上监听客户端的连接。它创建一个 ServerSocket 对象&#xff0c;并通过调用 accept() 方法等待客户端的连接请求。客户…...

ansible利用playbook 部署lamp架构

搭建参考&#xff1a;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&#xff08;Serial Peripheral Interface&#xff09;是由Motorola公司开发的一种通用数据总线 • 四根通信线&#xff1a; SCLK:串行时钟线&#xff0c;用来提供时钟信号的。 MOSI:主机输出&#xff0c;从机输入 MISO:从机输出&#xff0c;主机输入 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&#xff0c;其次是C&#xff0c;再次是JS、Delphi。在Golang工程中大量使用了defer关键字实现函数的延迟调用。如打开文件的出错处理。近来在C工程中遇到类似需求&#xff0c;在函数返回时进行某…...

前端之电力系统SVG图低代码

其实所有的图形都是由点&#xff0c;线&#xff0c;面组成的。点线面可以组成一个设备。下面就简单讲讲点线面是怎么画的吧 对于线&#xff0c;可以用path <g><path:d"M ${beginX},${beginY} L ${endX},${endY}":stroke-width"lineWidth":strok…...

括号生成[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 数字n代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;["((()))","(()())","(())(…...

配置ubuntu的VNC时遇到报错_XSERVTransmkdir: Mode of /tmp/.X11-unix should be set to 1777

现在win11内嵌了ubuntu系统&#xff0c;我在根据打造基于 VNC 的 Ubuntu 20.04 的远程桌面 配置VNC server时&#xff0c;到了 vncserver :1 这一步&#xff0c;遇到报错&#xff1a; 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 函数对灰度图像进行边缘检测。让我解释一下&#xff1a; cvCanny(gray, dst, 10, 100, 3);gray: 这是输入的灰度图像&#xff0c;即要进行边缘检测的图像。dst: 这是输出的边缘图像&#xff0c;即将结…...

拓宽知识储备量(指数级成长)

对于增强自己的知识储备&#xff0c;不是什么知识都往脑袋里去塞&#xff0c;最好的办法就是让自己的心态回到自己初心的时候&#xff0c;始终保值一颗学者的心&#xff0c;你像那些成功人士&#xff0c;比如格力&#xff0c;华为&#xff0c;腾讯等这样的大公司创始人哪个不是…...

NSGA-III中的参考点生成与多样性维护机制解析

1. NSGA-III算法中的参考点是什么&#xff1f; 第一次接触NSGA-III算法时&#xff0c;最让我困惑的就是这个"参考点"概念。简单来说&#xff0c;参考点就像是多目标优化问题中的导航灯塔&#xff0c;它们均匀分布在目标空间里&#xff0c;指引算法找到分布均匀的解集…...

Comsol模拟土壤中冰的融化过程:奇妙的微观世界之旅

comsol模拟土壤中冰的融化过程模型 在天气升温过程中&#xff0c;土壤表层的冰融化&#xff0c;深入土壤中&#xff0c;同时随着水流的渗入&#xff0c;土壤中的冰夹杂物融化&#xff0c;采用达西定律与包含相变的“多孔介质传热”接口相耦合&#xff0c;可以模拟土壤中冰夹杂物…...

Qwen3-14B WebUI权限分级:管理员/普通用户/只读访客三类角色配置

Qwen3-14B WebUI权限分级&#xff1a;管理员/普通用户/只读访客三类角色配置 1. 权限分级的重要性与场景需求 在私有化部署Qwen3-14B模型时&#xff0c;企业或团队通常需要根据不同成员的职责分配不同的操作权限。合理的权限分级能够&#xff1a; 保障系统安全&#xff1a;防…...

3个步骤彻底释放惠普游戏本性能:OmenSuperHub终极指南

3个步骤彻底释放惠普游戏本性能&#xff1a;OmenSuperHub终极指南 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度&#xff0c;自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 还在为官方Omen Gaming Hub的臃肿体积和…...

WPF新手村教程(七)—— 终章(MVVM架构初见杀)

前言 在使用 kubectl get $KIND -o yaml 查看 k8s 资源时&#xff0c;输出结果中包含大量由集群自动生成的元数据&#xff08;如 managedFields、resourceVersion、uid 等&#xff09;。这些信息在实际复用 yaml 清单时需要手动清理&#xff0c;增加了额外的工作量。 使用 ku…...

3种突破Cursor Pro限制的创新方案:解锁AI编程全功能体验

3种突破Cursor Pro限制的创新方案&#xff1a;解锁AI编程全功能体验 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your t…...

卡诺图简化逻辑函数详解

你提供的图片是数字逻辑电路教材中关于**卡诺图&#xff08;Karnaugh Map&#xff09;**的内容&#xff0c;主要讲解如何用卡诺图表示和化简逻辑函数。下面我为你逐部分解释&#xff1a;&#x1f4cc; 一、核心概念&#xff1a;什么是卡诺图&#xff1f;卡诺图是一种图形化工具…...

FreeCache内存管理终极指南:零GC开销的预分配机制详解

FreeCache内存管理终极指南&#xff1a;零GC开销的预分配机制详解 【免费下载链接】freecache A cache library for Go with zero GC overhead. 项目地址: https://gitcode.com/gh_mirrors/fr/freecache 在Go语言开发中&#xff0c;内存管理和垃圾回收&#xff08;GC&am…...

Loop:3分钟快速掌握Mac窗口管理终极方案

Loop&#xff1a;3分钟快速掌握Mac窗口管理终极方案 【免费下载链接】Loop Window management made elegant. 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop Loop是一款免费开源的Mac窗口管理工具&#xff0c;通过径向菜单和智能快捷键系统&#xff0c;让窗口…...

[开源工具]问题解决指南:Axure本地化方案的效率提升实践

[开源工具]问题解决指南&#xff1a;Axure本地化方案的效率提升实践 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 作为原型设计…...