asp.net core 配置第三方日志组件(serilog)

得益于.net core的模块化设计,我们可以很轻松的加入我们喜欢的功能和组件,今天我们就简单的说一下他的Logger组件。.net core 自带有日志组件,功能也比较完善,通过依赖注入的方式使用也很方便,应对一般的用途是足够的。但很多时候我们会选择使用第三方更加完善的日志组件,比较常用的有Nlog和Serilog,下面我们以Serilog为例简单的介绍一下如何在.net core中配置和使用第三方日志组件。

1、通过nuget下载serilog和对应的skins,skins有很多种,其中常用的有Serilog.Sinks.File/Serilog.Sinks.Console/Serilog.Sinks.Debug,它表示将日志的内容输出到不同的媒介中,对应的就是上面的文件、控制台和debug窗口。为了图省事,我们只需要添加下图的这个包就行了,可以看到它的依赖种已经包含了我们需要的skins

 2、配置Serilog。其实很简单只需要在Program类种的main方法中做如下修改即可(注意:不是在startup类中):

public static void Main(string[] args)
{
    //第三方log工具serilog的相关配置
    Log.Logger = new LoggerConfiguration()
        //配置日志最小输出的级别为:debug
        .MinimumLevel.Debug()
        //如果是Microsoft的日志,最小记录等级为info
        .MinimumLevel.Override("Microsoft", LogEventLevel.Information)
        .Enrich.FromLogContext()
        //输出到控制台
        .WriteTo.Console()
        //将日志保存到文件中(两个参数分别是日志的路径和生成日志文件的频次,当前是一天一个文件)
        .WriteTo.File(Path.Combine("logs", @"log.txt"), rollingInterval: RollingInterval.Day)
        .CreateLogger();

    CreateWebHostBuilder(args)
        //使用serilog
        .UseSerilog()
        .Build()
        .Run();
}

好了,到此我们就完成了基本的配置。我们启动一下项目会发现控制台的日志发生了变化:

左边是原始的,右边的是我们配置了serilog后的样子,并且我们的项目中也多出来一个log文件夹,里面存放了我们产生的日志文件,文件名为 log+八位日期。

3、使用log。一般我们通过构造器注入的方式来使用logger:

注入完后我们就可以愉快的添加日志啦:



          4、拓展:日志的等级LogLevel 枚举

发布了31 篇原创文章 · 获赞 56 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/maaici/article/details/103968444
今日推荐