簡體   English   中英

在 .net 內核上使用 Serilog 進行日志記錄

[英]Logging with Serilog on .net core

我第一次使用 Serilog,我閱讀了一些教程,但它沒有寫在 DB 上

這是我編寫配置的 Program.cs 文件:

public class Program
{
    public async static Task Main(string[] args)
    {
        var host = CreateHostBuilder(args).Build();
        await host.RunAsync();
    }



    public static IHostBuilder CreateHostBuilder(string[] args)
    {
        var configSettings = new ConfigurationBuilder()
            .AddJsonFile("appsettings.json")
            .Build();

        Log.Logger = new Serilog.LoggerConfiguration()
            .ReadFrom.Configuration(configSettings)
            .CreateLogger();

        return Host.CreateDefaultBuilder(args)
        .ConfigureAppConfiguration(config =>
        {
            config.AddConfiguration(configSettings);
        })
        .ConfigureLogging(logging =>
        {
            logging.AddSerilog();
        })
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
        });

    }
}

}

執行時沒有問題,並且它在丟失時也創建了表,但它沒有插入日志。

"Serilog.Extensions.Logging": "1.0.0",
  "Serilog": {
    "MinimumLevel": "Error",
    "WriteTo": [
      {
        "Name": "MSSqlServer",
        "Args": {
          "connectionString": constr,
          "tableName": "Logs",
          "autoCreateSqlTable": true
        }
      }
    ]
  }

這是 appjson 中的配置。

我通過在構造函數中添加日志並在方法上調用它來消耗日志,這似乎也可以。

根據您的描述和設置,我發現您的 Serilog MinimumLevel 是錯誤而不是信息。

如果您記錄信息,它將不會登錄到數據庫。 您應該改用日志錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM