【发布时间】:2021-04-28 22:32:46
【问题描述】:
我是第一次使用 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 是错误的,这意味着只有错误消息会登录到数据库中。
-
这是问题,先生,谢谢。你可以添加一个答案,我会批准它作为一个答案
标签: asp.net-core logging .net-core serilog