zoukankan      html  css  js  c++  java
  • serilog .net core 3.1 配置方式

    serilog .net core 3.1 配置方式

    安装包dotnet add package Serilog dotnet add package Serilog.AspNetCore

    早初始化模式

        public class Program
        {
            public static IConfiguration Configuration { get; } = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
                .AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production"}.json", optional: true)
                .AddEnvironmentVariables()
                .Build();
    
            public static int Main(string[] args)
            {
                Log.Logger = new LoggerConfiguration()
                    .ReadFrom.Configuration(Configuration)
                    .Enrich.FromLogContext()
                    .WriteTo.Debug()
                    .WriteTo.Console(
                        outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj} {Properties:j}{NewLine}{Exception}")
                    .CreateLogger();
    
                try
                {
                    Log.Information("Getting the motors running...");
    
                    CreateHostBuilder(args).Build().Run();
    
                    return 0;
                }
                catch (Exception ex)
                {
                    Log.Fatal(ex, "Host terminated unexpectedly");
                    return 1;
                }
                finally
                {
                    Log.CloseAndFlush();
                }
            }
    
            public static IHostBuilder CreateHostBuilder(string[] args) =>
                Host.CreateDefaultBuilder(args)
                    .ConfigureWebHostDefaults(webBuilder =>
                    {
                        webBuilder.UseStartup<Startup>();
                    })
                    .UseSerilog();
        }
    
    

    内联初始化

        public class Program
        {
            public static void Main(string[] args)
            {
                CreateHostBuilder(args).Build().Run();
            }
    
            public static IHostBuilder CreateHostBuilder(string[] args) =>
                Host.CreateDefaultBuilder(args)
                    .ConfigureWebHostDefaults(webBuilder => webBuilder.UseStartup<Startup>())
                    .UseSerilog((hostingContext, loggerConfiguration) => loggerConfiguration
                        .ReadFrom.Configuration(hostingContext.Configuration)
                        .Enrich.FromLogContext()
                        .WriteTo.Debug()
                        .WriteTo.Console(
                            outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj} {Properties:j}{NewLine}{Exception}"));
        }
    
  • 相关阅读:
    Malware Sample Sources for Researchers
    How to Allow MySQL Client to Connect to Remote MySQL server
    指標和函數
    ”十六“进制查看器
    解決svchost.exe 100%的問題 (真的中毒了)
    C#中Class与Struct区别
    js获取asp.net服务器端控件Label,TextBox,RadioButtonList,DropDownList的值
    大象之UML (一) 准备
    大象之UMl(二)UML核心元素
    配置.NET运行环境
  • 原文地址:https://www.cnblogs.com/WNpursue/p/13029134.html
Copyright © 2011-2022 走看看