引入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基本使用的更多相关文章

  1. Nlog配置实例

      彩色Console target <?xml version="1.0" encoding="utf-8" ?> <nlog xmlns= ...

  2. NLog在Asp.Net MVC的实战应用

    Asp.Net MVC FilterAttribute特性.读取xml反序列化.NLog实战系列文章 首先新建一个MVC project. 一.NLog的配置. 作者:Jarosław Kowalsk ...

  3. [转]C# 使用Nlog记录日志到数据库

    本文转自:http://www.cnblogs.com/weixing/archive/2013/04/26/3044422.html 摘要]Nlog是一个很不错的.NET日志记录组件,它可以将日志输 ...

  4. [转]ASP.NET Core 开发-Logging 使用NLog 写日志文件

    本文转自:http://www.cnblogs.com/Leo_wl/p/5561812.html ASP.NET Core 开发-Logging 使用NLog 写日志文件. NLog 可以适用于 . ...

  5. Logging with NLog

    相比较log4net, 我更喜欢NLog, 因为NLog 更简单, 而且配置选项也更加的清楚,可能是因为log4net 是从log4j 移植过来的一个原因吧,总感觉有很多的java 成分在. 要使用N ...

  6. C#开源日志Nlog入门

    c#语言使用的日志比较多,比如:Log4.NLog等,今天我就简单随笔记录哈NLog的使用. 1.NLog的安装: 直接在VS编译器中打开程序包管理器,输入Install-Package NLogin ...

  7. Web APi之异常处理(Exception)以及日志记录(NLog)(十六)

    前言 上一篇文章我们介绍了关于日志记录用的是Log4net,确实也很挺强大,但是别忘了我们.NET有专属于我们的日志框架,那就是NLog,相对于Log4net而言,NLog可以说也是一个很好的记录日志 ...

  8. .NET中使用NLog记录日志

    以前小编记录日志使用的是Log4Net,虽然好用但和NLog比起来稍显复杂.下面小编就和大伙分享一下NLog的使用方式. 引用NLog.Config 在使用NLog之前,我们要首先添加对NLog.Co ...

  9. 从零开始,搭建博客系统MVC5+EF6搭建框架(3),添加Nlog日志、缓存机制(MemoryCache、RedisCache)、创建控制器父类BaseController

    一.回顾系统进度以及本章概要 目前博客系统已经数据库创建.以及依赖注入Autofac集成,接下来就是日志和缓存集成,这里日志用的是Nlog,其实还有其他的日志框架如log4,这些博客园都有很多介绍,这 ...

  10. ElasticSearch+NLog+Elmah实现Asp.Net分布式日志管理

    本文将介绍使用NLOG.Elmah结合ElasticSearch实现分布式日志管理. 一.ElasticSearch简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布 ...

随机推荐

  1. web服务器静态资源下载

    1. 使用 Beego 实现静态文件下载 Beego 是一个强大的 Go Web 框架,提供了处理静态文件的功能.通过简单的配置,我们可以将本地文件夹作为静态资源目录,并为用户提供下载链接. 1.1 ...

  2. k8s 安全策略最佳实践

    作者:万宏明,KubeSphere member,负责 KubeSphere 安全和多租户团队 随着 K8s 在生产和测试环境中用的越来越多,对安全性的关注也会越来越多,所以本文主要是给大家分享以下内 ...

  3. 一次彻底掌握数据中心级的JVM调优实战经验

    出现内存溢出的场景通常发生在应用程序中存在内存泄漏.对象生命周期过长.对象频繁创建但未能及时回收等问题.以下是几个真实的业务场景,结合内存溢出问题,并从多个角度提出优化方法,来提高内存使用效率. 场景 ...

  4. vs程序员使用windbg实例

    如果使用32位的windbg,windbg加载完dump文件后,窗口会显示wow64cpu,表示是64位进程,需要切换到64位环境: .load wow64exts !sw 设置符号表(crtl+s) ...

  5. 多个modal遮罩层覆盖不全的问题

    多个modal遮罩层覆盖不全的问题 如下有两个 modal的情况,要解决的是 在delete操作时弹出的modal 周围没有遮罩层环绕使得 确认 modal 辨识度不高 的问题 这里是修改好了的效果 ...

  6. .NET 实现的零部件离散型 MES+WMS 系统

    前言 随着制造业的不断发展,企业对于生产效率和管理水平的要求越来越高. EasyMES 是一款基于 .NET 6 开发的零部件离散型 MES(Manufacturing Execution Syste ...

  7. 适合才最美:Shiro安全框架使用心得

    大家好,我是 V 哥.Apache Shiro 是一个强大且灵活的 Java 安全框架,专注于提供认证.授权.会话管理和加密功能.它常用于保护 Java 应用的访问控制,特别是在 Web 应用中.相比 ...

  8. (系列十二)Vue3+.Net8实现用户登录(超详细登录文档)

    说明 该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发). 该系统文章,我会尽量说的非常详细,做到不管新手.老手都能看懂. 说明:OverallAuth2 ...

  9. C#-32位md5加密

    MD5是一种散列函数,它是不可逆的.这意味着你不能通过MD5的输出来恢复输入.MD5不支持解密. C#MD5加密返回32位字串 public static string MD5Encrypt32(st ...

  10. ZCMU-1110

    思路:- 首先可以知道最少动就是从三个角对称的划分 因为不是对称划分则会出现破坏了正三角,后面还要重新对好 之后就可以进行推导(按三角形我没看懂) 其中设底上截出来的三角形的底为i,则上面就是n-2* ...