.net 5 asp.net core 使用 serilog

1 使用 nuget 安装 Serilog.AspNetCore 包

2 在 Program.cs 中 添加以下引用

using Serilog;
using Serilog.Formatting.Compact;
using Serilog.Events;

3 在 Program.cs 中方法 CreateHostBuilder 中启用 Serilog

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                })
                .UseSerilog(dispose: true);

4 测试代码

在 Program.cs Main 方法中添加如下测试方法

        public static void Main(string[] args)
        {
            // Create the Serilog logger, and configure the sinks
            Log.Logger = new LoggerConfiguration()
               .MinimumLevel.Debug() // 最小日志级别,即如果最小日志级别为 Error 则下面的 Log.Information 不会记录日志
               .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
               .MinimumLevel.Override("Microsoft.AspNetCore", LogEventLevel.Warning)
               .Enrich.FromLogContext()
               .WriteTo.Console()
               .WriteTo.File(formatter: new CompactJsonFormatter(), "logs\\serilog.txt", rollingInterval: RollingInterval.Day)
               .CreateLogger();
            // Wrap creating and running the host in a try-catch block
            try
            {
                Log.Information("Starting host");
                CreateHostBuilder(args).Build().Run();
            }
            catch (Exception ex)
            {
                Log.Fatal(ex, "Host terminated unexpectedly");
            }
            finally
            {
                Log.CloseAndFlush();
            }
        }

5 运行结果

 6. 使用Serilog 记录日志

 

 

 

posted @ 2021-06-26 11:39  温故纳新  阅读(459)  评论(1编辑  收藏  举报