首页 > 其他分享 >Nlog基本使用

Nlog基本使用

时间:2023-06-04 21:11:19浏览次数:32  
标签:基本 logging 使用 Nlog ILogger ._ logger dyVideoServer

引入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="*" 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;
        }

 效果:

 

 

 

标签:基本,logging,使用,Nlog,ILogger,._,logger,dyVideoServer
From: https://www.cnblogs.com/zhang-3/p/17456340.html

相关文章

  • GitHub使用Git中用到的一些命令
    gitinit这个命令用于在当前目录中创建一个新的Git仓库。它会在当前目录下生成一个名为.git的子目录[email protected]:shui00cc/repository.git这个命令用于将远程仓库的URL添加到你的本地Git仓库中。origin是一个远程仓库的别名,用于简化引用。......
  • ABBYY FineReader PDF 16安装教程使用指南及ABBYY16系统配置要求
    本文转载于:https://blog.csdn.net/weixin_55412152/article/details/131030190近年来,随着盲人数字阅读的普及推广,PDF格式的电子书越来越受到大家的关注和喜爱,但受读屏软件功能的限制,扫描版的PDF电子书是无法直接阅读的,这就需要将其转换为可阅读的文档格式,可对于大多数视障读者来说,......
  • android webview 使用以及一些常见的异常处理
    android中的提供webview控件,可以方便开发人员是自己的应用嵌入网页浏览功能,但实际开发中却会遇到一些问题,这个稍后会介绍到,效果图: 先来看个实例: 1.publicclassMainActivityextendsActivity{2.finalStringCOMPANY_WEB=;3.privateWebViewmWebView;4.......
  • Python爬虫入门六之Cookie的使用
     大家好哈,上一节我们研究了一下爬虫的异常处理问题,那么接下来我们一起来看一下Cookie的使用。为什么要使用Cookie呢?Cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个......
  • 使用 Nginx Upload Module 实现上传文件功能
    普通网站在实现文件上传功能的时候,一般是使用Python,Java等后端程序实现,比较麻烦。Nginx有一个Upload模块,可以非常简单的实现文件上传功能。此模块的原理是先把用户上传的文件保存到临时文件,然后在交由后台页面处理,并且把文件的原名,上传后的名称,文件类型,文件大小set到页面。下面和大......
  • 常用插件的使用—grunt入门指南(下)
    less/sass/stylus预编译在前端工程中使用css预编译器(less/sass/stylus)用于弥补css的语言缺陷,基本上是标配了,其中less和sass用的最多,但明河最喜欢使用的是stylus,grunt官方有对应的编译插件。这里以grunt-contrib-stylus为例。stylus:{options:{//......
  • k8s--etcd 基本操作
    介绍Etcd是CoreOS基于Raft开发的分布式key-value存储,可用于服务发现、共享配置以及一致性保障(如数据库选主、分布式锁等)。在分布式系统中,如何管理节点间的状态一直是一个难题,etcd像是专门为集群环境的服务发现和注册而设计,它提供了数据TTL失效、数据改变监视、多值、目录监......
  • uniapp中js中的闭包使用
    问题:在uniapp里面,使用闭包函数处理的时候,会导致$this不能全局使用。 解决方案:第一种代码写法(以循环为例):constobj={a:1,b:2,c:3}varkeys=Object.getOwnPropertyNames(obj)keys.forEach(function(key){console.log(key+'--......
  • OpenFOAM中topoSet和refineMesh的使用方法
    通过refineMesh进行网格加密,system文件夹下需要两个文件,topoSetDict和refineMeshDict。topoSetDict中的内容:1/*--------------------------------*-C++-*----------------------------------*\2|=========|......
  • SpringMVC 3使用Fastjson代替Jackson
    [size=large][color=red]Json解析教程(四.FastJson的使用)[/color][/size][url]http://zyjustin9.iteye.com/blog/2020533[/url]1.[代码][Java]代码publicclassUser{privateLongid;privateStringname;publicLonggetId(){retur......