引入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. KubeSphere 社区双周报|2024.04.26-05.09

    KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书.新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列 ...

  2. synchronized的四种锁状态

    Java 多线程的锁都是基于对象的,Java 中的每一个对象都可以作为一个锁. 类锁,其实就是 Class 对象的锁. Class 对象是一种特殊的 Java 对象,代表了程序中的类和接口.Java ...

  3. 二叉树遍历(C语言版)

    二叉树遍历 先序 递归 int *res; void preorder(struct TreeNode *root, int *returnSize) { if (root == NULL) retu ...

  4. Machine Learning Week_1 Model and Cost Function 1-4

    目录 2 Model and Cost Function 2.1 Video: Model Representation unfamiliar words 2.2 Reading: Model Rep ...

  5. 初识GO语言--基本规则

  6. 认识鸿蒙Context

    Context是应用中对象的上下文,其提供了应用的一些基础信息,例如resourceManager(资源管理).applicationInfo(当前应用信息).dir(应用文件路径).area(文件分 ...

  7. mysql 批量重命名数据表、统一给表加前缀

    背景 一个本地数据库,里面有 90 个数据表.由于历史原因,现在需要批量给以前的数据表加上一个前缀.于是安排人吭哧吭呲的人工修改,耗费一天工时.过了几天,又需要把统一前缀去掉.内心早已问候 @¥#%% ...

  8. golang读取文件

    golang 按行读取文件 file, err := os.Open("app-2019-06-01.log") if err != nil { log.Fatal(err) } ...

  9. 六、FreeRTOS学习笔记-任务挂起和恢复

    任务的挂起与恢复的API函数介绍 API函数 描述 vTaskSuspend() 挂起任务 vTaskResume() 恢复被挂起的任务 xTaskResumeFromISR() 在中断中恢复被挂起的 ...

  10. k8s之资源篇

    在线k8s环境: https://killercoda.com/playgrounds/scenario/kubernetes 相关文档: https://github.com/bregman-ari ...