日志系统

日志系统


一、日志基本概念


1、日志级别:Trace<Debug< Information <Warning< Error < Critical

信息 警告 错误 生死攸关

2、日志提供者(LoggingProvider):把日志输出到哪里。控制台、文件、数据库等。3、.NET的日志非常灵活,对于业务代码只要注入日志对象记录日志即可,具体哪些日志输出到哪里、什么样的格式、是否输出等都有配置或者初始化代码决定。

二、日志输出


1、输出到控制台


1、NuGet: Microsoft.Extensions.Logging//日志框架的基础包

Microsoft.Extensions.Logging.Console//往控制台输出得用这个

2、DI注入:services.AddLogging(logBuilder=>{logBuilder.AddConsole();//可多个Provider});3、需要记录日志的代码,注入ILogger<T>即可,T一般就用当前类,这个类的名字会输出到日志,方便定位错误。然后调用LogInformation()、LogError等方法输出不同级别的日志,还支持输出异常对象。

  • 控制台操作安装包

下面编写代码

  • 新建一个Test1类 编写日志内容

namespaceLoggingDemo1
{
    internalclassTest1
    {
        privatereadonlyILogger<Test1>logger;
        publicTest1(ILogger<Test1>Logger)
        {
            this.logger=logger;
        }
​
        publicvoidTest()
        {
            logger.LogDebug("开始执行数据库同步");
            logger.LogDebug("连接数据库成功");
            logger.LogWarning("查找数据最终失败..重试第一次");
​
            logger.LogWarning("查找数据失败,重试第二次");
            logger.LogError("查找数据最终失败");
​
        }
    }
}

  • 然后program类内容为

namespace LoggingDemo1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            ServiceCollection services = new ServiceCollection();
            services.AddLogging(logBuilder => {
                logBuilder.AddConsole();//打印到控制台
            });
​
            services.AddScoped<Test1>();//把test1对象注册到DI中
​
            using (var sp = services.BuildServiceProvider()) 
            {
                var test1 = sp.GetRequiredService<Test1>();
                test1.Test();
            }
        }
    }
}
  • 现在输出结果为

没有Debug的输出

因为他的级别太低 默认不输出

想要让他输出还可以配置级别

  • 设置最低级别

这样就输出了

2、NLog配置到文本文件


1、.NET没有内置文本日志提供者。第三方有Log4Net、NLog、Serilog等。老牌Log4Net另搞一套,不考虑。2、NLog,NuGet安装: NLog.Extensions.Logging(using NLog.Extensions.Logging;) 。项目根目录下建nlog.config,注意文件名的大小写(考虑linux)也可以是其他文件名,但是需要单独配置。约定大于配置.

nlog.config配置信息可以直接去官方拷贝

3、增加logBuilder.AddNLog()

一、配置文本文件

一、去官网引入包

NuGet\Install-Package NLog.Extensions.Logging -Version 5.2.1

二、导入配置文件

三、修改路径

它默认写入的路径是C盘,进行修改路径

四、修改配置文件属性

  • 进行输出并且到对应的目录查看文件

写入成功

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值