在我的 appsettings.json 我写过:
{
"Logging": {
"PathLogsFile": "./Logs",
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}
}
Run Code Online (Sandbox Code Playgroud)
并在我的startup.cs文件中的构造函数中
var pathLogsFile = Configuration["Logging:PathLogsFile"];
var logLevelApp = Configuration.GetSection("Logging:LogLevel:Default");
Log.Logger = new LoggerConfiguration()
.ReadFrom.KeyValuePairs(new List<KeyValuePair<string, string>>()
{
new KeyValuePair<string, string>(logLevelApp.Key, logLevelApp.Value)
}.ToDictionary(x => x.Key, x => x.Value))
.Enrich.FromLogContext()
.WriteTo.Logger(lc => lc
.Filter.ByIncludingOnly(evt => evt.Level == Serilog.Events.LogEventLevel.Error)
.WriteTo.RollingFile(Path.Combine(pathLogsFile, "error-{Date}.log")))
.WriteTo.Logger(lc => lc
.Filter.ByIncludingOnly(evt => evt.Level >= Serilog.Events.LogEventLevel.Debug)
.WriteTo.RollingFile(Path.Combine(pathLogsFile, "log-{Date}.log")))
.CreateLogger();
Run Code Online (Sandbox Code Playgroud)
但是从 appsettings 读取的最低级别不起作用。有任何想法吗?我该如何解决?