在.net core使用Serilog,只要簡單的三步

第一步:在項目上用nuget安裝 Serilog.AspNetCore 最新的穩定版即可 ,安裝這個會把其他需要的包都給包含着

第二步:修改 Program.cs 的 CreateHostBuilder 方法,加入 .UseSerilog(),修改後的 CreateHostBuilder  方法如下

  public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                }).UseSerilog((hostingContext, loggerConfiguration) =>
                {
                    loggerConfiguration.ReadFrom.Configuration(hostingContext.Configuration);
                });

第三步:修改 appsettings.json,加入如下節點

"Serilog": {
    "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],
    // 日誌輸出級別
    "MinimumLevel": {
      "Default": "Debug",
      "Override": {
        // 日誌調用類命名空間如果以 Microsoft 開頭,覆蓋日誌輸出最小級別爲 Information
        "Microsoft": "Warning",
        "Microsoft.Hosting": "Information",
        "System": "Warning",
        "Microsoft.Hosting.Lifetime": "Information"
      }
    },
    "WriteTo": [
      { "Name": "Console" },
      {
        "Name": "File",
        "Args": { "path": "Logs/log.txt" }
      }
    ]
  }

接下來就可以調用了

調用可以如下:

   Log.Error("test");

或者在構造函數中取

 private readonly ILogger<QiMenController> _logger;
        public QiMenController(ILogger<QiMenController> logger) 
        {
            _logger = logger;
        }

  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章