IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 日志系统——日志的分类与过滤(3) -> 正文阅读

[人工智能]日志系统——日志的分类与过滤(3)

一、为什么分类

因为如果不进行分类所有级别的日志都放在一起非常的杂乱。
也不便于查询错误信息,在项目发布初还没稳定需要所有信息,之后稳定只需要警告级别以上的信息时就可以启到过滤效果。
在这里插入图片描述
只有Error级别
在这里插入图片描述

二、实例展示

创建一个nlog.config文件

<?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"
      autoReload="true"
      throwConfigExceptions="true"
      internalLogLevel="info"
      internalLogFile="internal-nlog-AspNetCore3.txt">

  <!-- enable asp.net core layout renderers -->
  <extensions>
    <add assembly="NLog.Web.AspNetCore"/>
  </extensions>

  <!-- the targets to write to -->
  <targets>


    <!-- File Target for own log messages with extra web details using some ASP.NET core renderers -->
    <target xsi:type="File" name="sysServicesFile" archiveAboveSize="10000" maxArchiveFiles ="3" fileName="logs/sysService-${shortdate}.log"
            layout="${date}|${level:uppercase = true}|${logger}|${message} ${exception:format=ToString}" />
  </targets>

  <!-- rules to map from logger name to target -->
  <rules>

    <!--Skip non-critical Microsoft logs and so log only own logs-->
    <logger name="_01_Logging.*"  minlevel="Trace"  writeTo="sysServicesFile" final="true" />  <!-- BlackHole -->

  </rules>
</nlog>

在这里插入图片描述
NLog的提供的服务日志类,要自己创建
在这里插入图片描述
Program

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using NLog.Extensions.Logging;
using System;



namespace _01_Logging
{
    class Program
    {
        static void Main(string[] args)
        {
            ///模拟startup实例一个ServiceCollection 
            ServiceCollection services = new ServiceCollection();
            services.AddLogging(
                logBuilder=>
                {
                    logBuilder.AddConsole();
                    logBuilder.AddNLog();
                    logBuilder.SetMinimumLevel(LogLevel.Trace);
                }
                );
            //注册服务
            services.AddScoped<SystemService>();
            //通过服务构建容器,ServiceProvider类型
            using (var sp = services.BuildServiceProvider())
            { ///获取容器中的服务ITestService
                var test2 = sp.GetRequiredService<SystemService>();
                for (int i = 1; i <= 1000; i++)
                {

                    test2.Logging();
                }
              
            }
        }
    }
}

源码地址

https://github.com/1768894221/CSharp

三、NLog其他

1.NLog部分功能与.Net的Logging功能重复,比如分类、分级,各种Provider
2.为了避免冲突如果使用NLog,不要在使用微软的分级(具体用法见微软官方文档)

3.其他输出扩展文档,可以向redis,邮件等多个地方输出
https://nlog-project.org/config/

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-14 15:56:46  更:2021-12-14 15:57:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年6日历 -2024/6/19 4:35:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码