[英]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.