Nlog基本使用
引入get包:NLog.Extensions.Logging
添加一个nlog.cofig文件 并设置属性,始终复制或较新则复制


<?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"> <targets async="true">
<!--maxArchiveDays最长保存N天,archiveAboveSize一个文件最大为N字节-->
<target name="LogAll" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/All/【${shortdate}】-ALL日志-.txt" layout="【时间】[${date}]${newline}【日志等级】[${level:uppercase=true}]${newline}【位置】[${logger}]${newline}【信息】[${message:withexception=true}]${newline}${newline} " />
<target name="LogTrace" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/Trace跟踪日志/【${shortdate}】-Trace日志.txt" layout="【时间】[${date}]${newline}【日志等级】[${level:uppercase=true}]${newline}【位置】[${logger}]${newline}【信息】[${message:withexception=true}]${newline}${newline} " />
<target name="LogDebug" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/Debug调试日志/【${shortdate}】-Debug日志.txt" layout="【时间】[${date}]${newline}【日志等级】[${level:uppercase=true}]${newline}【位置】[${logger}]${newline}【信息】[${message:withexception=true}]${newline}${newline} " />
<target name="LogInfo" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/Info信息日志/【${shortdate}】-Info日志.txt" layout="【时间】[${date}]${newline}【日志等级】[${level:uppercase=true}]${newline}【位置】[${logger}]${newline}【信息】[${message:withexception=true}]${newline}${newline} " />
<target name="LogWarn" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/Warn警告日志/【${shortdate}】-Warn日志.txt" layout="【时间】[${date}]${newline}【日志等级】[${level:uppercase=true}]${newline}【位置】[${logger}]${newline}【信息】[${message:withexception=true}]${newline}${newline} " />
<target name="LogError" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/Error错误日志/【${shortdate}】-Error日志.txt" layout="【时间】[${date}]${newline}【日志等级】[${level:uppercase=true}]${newline}【位置】[${logger}]${newline}【信息】[${message:withexception=true}]${newline}${newline} " />
<target name="LogFatal" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/Fatal致命日志/【${shortdate}】-Fatal日志.txt" layout="【时间】[${date}]${newline}【日志等级】[${level:uppercase=true}]${newline}【位置】[${logger}]${newline}【信息】[${message:withexception=true}]${newline}${newline} " />
</targets> <rules>
<!--日志记录规则,符合规则的writeTo到相应的日志目标中-->
<logger name="Microsoft.*" writeTo="" final="true" />
<!--日志记录规则,符合规则的writeTo到相应的日志目标中-->
<logger name="*" level="Fatal" writeTo="LogFatal" final="true"/>
<logger name="*" level="Error" writeTo="LogError" final="true"/>
<logger name="*" level="Warn" writeTo="LogWarn" final="true"/>
<logger name="*" level="Info" writeTo="LogInfo" final="true"/>
<logger name="*" level="Debug" writeTo="LogDebug" final="true"/>
<logger name="*" level="Trace" writeTo="LogTrace" final="true"/>
<logger name="*" minlevel="Debug" writeTo="LogAll" />
</rules>
</nlog>

<?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"> <targets async="true">
<!--maxArchiveDays最长保存N天,archiveAboveSize一个文件最大为N字节-->
<target name="LogAll" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/All/【${shortdate}】-ALL日志-.txt" layout="【时间】[${date}]【日志等级】[${level:uppercase=true}]【位置】[${logger}]${newline}【信息】[${message:withexception=true}] ${newline}" />
<target name="LogTrace" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/Trace跟踪日志/【${shortdate}】-Trace日志.txt" layout="【时间】[${date}]【日志等级】[${level:uppercase=true}]【位置】[${logger}]${newline}【信息】[${message:withexception=true}]${newline} " />
<target name="LogDebug" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/Debug调试日志/【${shortdate}】-Debug日志.txt" layout="【时间】[${date}]【日志等级】[${level:uppercase=true}]【位置】[${logger}]${newline}【信息】[${message:withexception=true}]${newline} " />
<target name="LogInfo" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/Info信息日志/【${shortdate}】-Info日志.txt" layout="【时间】[${date}]【日志等级】[${level:uppercase=true}]【位置】[${logger}]${newline}【信息】[${message:withexception=true}] ${newline}" />
<target name="LogWarn" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/Warn警告日志/【${shortdate}】-Warn日志.txt" layout="【时间】[${date}]【日志等级】[${level:uppercase=true}]【位置】[${logger}]${newline}【信息】[${message:withexception=true}]${newline} " />
<target name="LogError" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/Error错误日志/【${shortdate}】-Error日志.txt" layout="【时间】[${date}]【日志等级】[${level:uppercase=true}]【位置】[${logger}]${newline}【信息】[${message:withexception=true}]${newline} " />
<target name="LogFatal" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/Fatal致命日志/【${shortdate}】-Fatal日志.txt" layout="【时间】[${date}]【日志等级】[${level:uppercase=true}]【位置】[${logger}]${newline}【信息】[${message:withexception=true}] ${newline}" />
</targets> <rules>
<!--日志记录规则,符合规则的writeTo到相应的日志目标中-->
<logger name="Microsoft.*" writeTo="" final="true" />
<!--日志记录规则,符合规则的writeTo到相应的日志目标中-->
<logger name="*" level="Fatal" writeTo="LogFatal" final="true" />
<logger name="*" level="Error" writeTo="LogError" final="true" />
<logger name="*" level="Warn" writeTo="LogWarn" final="true" />
<logger name="*" level="Info" writeTo="LogInfo" final="true" />
<logger name="*" level="Debug" writeTo="LogDebug" final="true" />
<logger name="*" level="Trace" writeTo="LogTrace" final="true" />
<logger name="*" minlevel="Debug" writeTo="LogAll" />
</rules>
</nlog>
日志样式,我最喜欢

<?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"> <targets async="true">
<!--maxArchiveDays最长保存N天,archiveAboveSize一个文件最大为N字节-->
<target name="LogDebug" xsi:type="File" maxArchiveDays="7" archiveAboveSize="10485760" fileName="Logs/Debug信息/【${shortdate}】.txt" layout="【${date}】【${logger}】${newline}【信息】${message:withexception=true}${newline}${newline} " />
<target name="LogInfo" xsi:type="File" maxArchiveDays="7" archiveAboveSize="10485760" fileName="Logs/Info信息/【${shortdate}】.txt" layout="【${date}】【${logger}】${newline}【信息】${message:withexception=true}${newline}${newline} " />
<target name="LogError" xsi:type="File" maxArchiveDays="7" archiveAboveSize="10485760" fileName="Logs/Error信息/【${shortdate}】.txt" layout="【${date}】【${logger}】${newline}【信息】${message:withexception=true}${newline}${newline} " />
</targets> <rules>
<!--日志记录规则,符合规则的writeTo到相应的日志目标中-->
<logger name="Microsoft.*" writeTo="" final="true" />
<!--日志记录规则,符合规则的writeTo到相应的日志目标中-->
<logger name="*" level="Error" writeTo="LogError" final="true"/>
<logger name="*" level="Info" writeTo="LogInfo" final="true"/>
<logger name="*" level="Debug" writeTo="LogDebug" final="true"/>
</rules>
</nlog>
<?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"> <targets async="true">
<!--maxArchiveDays最长保存N天,archiveAboveSize一个文件最大为N字节-->
<target name="LogAll" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/All/【${shortdate}】-ALL日志-.txt" layout="【时间】[${date}]${newline}【日志等级】[${level:uppercase=true}]${newline}【位置】[${logger}]${newline}【信息】[${message:withexception=true}]${newline}${newline} " />
<target name="LogTrace" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/Trace跟踪日志/【${shortdate}】-Trace日志.txt" layout="【时间】[${date}]${newline}【日志等级】[${level:uppercase=true}]${newline}【位置】[${logger}]${newline}【信息】[${message:withexception=true}]${newline}${newline} " />
<target name="LogDebug" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/Debug调试日志/【${shortdate}】-Debug日志.txt" layout="【时间】[${date}]${newline}【日志等级】[${level:uppercase=true}]${newline}【位置】[${logger}]${newline}【信息】[${message:withexception=true}]${newline}${newline} " />
<target name="LogInfo" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/Info信息日志/【${shortdate}】-Info日志.txt" layout="【时间】[${date}]${newline}【日志等级】[${level:uppercase=true}]${newline}【位置】[${logger}]${newline}【信息】[${message:withexception=true}]${newline}${newline} " />
<target name="LogWarn" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/Warn警告日志/【${shortdate}】-Warn日志.txt" layout="【时间】[${date}]${newline}【日志等级】[${level:uppercase=true}]${newline}【位置】[${logger}]${newline}【信息】[${message:withexception=true}]${newline}${newline} " />
<target name="LogError" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/Error错误日志/【${shortdate}】-Error日志.txt" layout="【时间】[${date}]${newline}【日志等级】[${level:uppercase=true}]${newline}【位置】[${logger}]${newline}【信息】[${message:withexception=true}]${newline}${newline} " />
<target name="LogFatal" xsi:type="File" maxArchiveDays="30" archiveAboveSize="10485760" fileName="Logs/Fatal致命日志/【${shortdate}】-Fatal日志.txt" layout="【时间】[${date}]${newline}【日志等级】[${level:uppercase=true}]${newline}【位置】[${logger}]${newline}【信息】[${message:withexception=true}]${newline}${newline} " />
</targets> <rules>
<!--日志记录规则,符合规则的writeTo到相应的日志目标中-->
<logger name="*" minlevel="Debug" writeTo="LogAll" />
<logger name="*" level="Trace" writeTo="LogTrace" />\
<logger name="*" level="Debug" writeTo="LogDebug" />
<logger name="*" level="Info" writeTo="LogInfo" />
<logger name="*" level="Warn" writeTo="LogWarn" />
<logger name="*" level="Error" writeTo="LogError" />
<logger name="*" level="Fatal" writeTo="LogFatal" />
</rules>
</nlog>
注入到程序
builder.Services.AddLogging(logging =>
{
logging.AddNLog();
});
使用的时候 构造函数
private readonly ILogger<DyVideoController> _logger;
public DyVideoController(IDyVideoServer dyVideoServer, ILogger<DyVideoController> logger)
{
this._videoServer = dyVideoServer;
this._logger = logger;
}

效果:



Nlog基本使用的更多相关文章
- Nlog配置实例
彩色Console target <?xml version="1.0" encoding="utf-8" ?> <nlog xmlns= ...
- NLog在Asp.Net MVC的实战应用
Asp.Net MVC FilterAttribute特性.读取xml反序列化.NLog实战系列文章 首先新建一个MVC project. 一.NLog的配置. 作者:Jarosław Kowalsk ...
- [转]C# 使用Nlog记录日志到数据库
本文转自:http://www.cnblogs.com/weixing/archive/2013/04/26/3044422.html 摘要]Nlog是一个很不错的.NET日志记录组件,它可以将日志输 ...
- [转]ASP.NET Core 开发-Logging 使用NLog 写日志文件
本文转自:http://www.cnblogs.com/Leo_wl/p/5561812.html ASP.NET Core 开发-Logging 使用NLog 写日志文件. NLog 可以适用于 . ...
- Logging with NLog
相比较log4net, 我更喜欢NLog, 因为NLog 更简单, 而且配置选项也更加的清楚,可能是因为log4net 是从log4j 移植过来的一个原因吧,总感觉有很多的java 成分在. 要使用N ...
- C#开源日志Nlog入门
c#语言使用的日志比较多,比如:Log4.NLog等,今天我就简单随笔记录哈NLog的使用. 1.NLog的安装: 直接在VS编译器中打开程序包管理器,输入Install-Package NLogin ...
- Web APi之异常处理(Exception)以及日志记录(NLog)(十六)
前言 上一篇文章我们介绍了关于日志记录用的是Log4net,确实也很挺强大,但是别忘了我们.NET有专属于我们的日志框架,那就是NLog,相对于Log4net而言,NLog可以说也是一个很好的记录日志 ...
- .NET中使用NLog记录日志
以前小编记录日志使用的是Log4Net,虽然好用但和NLog比起来稍显复杂.下面小编就和大伙分享一下NLog的使用方式. 引用NLog.Config 在使用NLog之前,我们要首先添加对NLog.Co ...
- 从零开始,搭建博客系统MVC5+EF6搭建框架(3),添加Nlog日志、缓存机制(MemoryCache、RedisCache)、创建控制器父类BaseController
一.回顾系统进度以及本章概要 目前博客系统已经数据库创建.以及依赖注入Autofac集成,接下来就是日志和缓存集成,这里日志用的是Nlog,其实还有其他的日志框架如log4,这些博客园都有很多介绍,这 ...
- ElasticSearch+NLog+Elmah实现Asp.Net分布式日志管理
本文将介绍使用NLOG.Elmah结合ElasticSearch实现分布式日志管理. 一.ElasticSearch简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布 ...
随机推荐
- CDQ&整体二分-三维偏序(陌上花开)
题面 本文讲cdq,整体二分的思路与做法.=分治VS数据结构 其实维度这一方面,空间几何可以是维度,像时间这样有规定顺序的词语也可能是维度. cdq 三维偏序,一般可以用一维一维的消.可以用cdq嵌套 ...
- day16-break,continue,goto
break,continue,goto break在任何循环语句的主体部分,均可用break控制循环的流程.break用于强行退出循环,不执行循环中剩余的语句.(break语句也在switch选择语句 ...
- 防火墙NAT配置与DHCP下发
该实验如果有做的不足的地方请见谅 实验目标: 按要求划分区域,公司内部办公区为trust,服务器区为dmz,外部网络为untrust. PC1和PC2为公司内部办公区,需要从防火墙中的DHCP服务获取 ...
- Redisson 工作原理-源码分析
时间不在于你拥有多少,而在于你怎样使用. 1:Redisson 是什么 个人理解:一种 可重入.持续阻塞.独占式的 分布式锁协调框架,可从 ReentrantLock 去看它. ①:可重入锁 拿到锁的 ...
- HTB打靶记录-Infiltrator
nmap scan nmap -A 10.10.11.31 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-10-15 13:18 CST Nma ...
- vue axios的使用及操作
引入axios 并设置原型 Vue.prototype.$axios = axios; 在其他地方就可以this.$axios使用了 let param = _this.$qs.string ...
- 工作中的技术总结_JAVA_AA-00001 关于Session的使用 _20210825
AA-00001 关于Session的使用 _20210825 Session Java 中的Session:javax.servlet.http.HttpSession; 应用: 在我自己的项目中 ...
- games101_Homework1
本次作业的任务是填写一个旋转矩阵和一个透视投影矩阵.给定三维下三个 点 v0(2.0, 0.0, −2.0), v1(0.0, 2.0, −2.0), v2(−2.0, 0.0, −2.0), 你需要 ...
- Python之JSON用法解析
前景 Python编写HDFS服务安装的过程中,需要将构建好的JSON对象输出到文件,采用那种方式更便捷 方案1 open 函数 def writeExecCmdCheckActionsFile(se ...
- Lua语法基础教程(上篇)
今天我们来学习Lua语法基础教程.由于篇幅过长,将分为上中下三篇进行讲解,本篇为上篇. 一.初识Lua Lua 是一种轻量小巧的脚本语言,它用标准C语言编写并以源代码形式开放.这意味着什么呢?这意味着 ...