我的控制台应用程序运行良好。最近,我做了一些更改并重新部署它,现在它抛出异常。
未处理的异常。 System.InvalidOperationException:未定义 Serilog:使用配置节,并且未找到 Serilog 程序集。这很可能是因为应用程序是作为单个文件发布的。
我的任何更改都与 Serilog 或日志记录相关。但是,我确实更新了所有 NuGet 包,包括将 Serilog.AspNetCore 从 6.1.0 更新到 7.0.0。
虽然我确实选中了生成单个文件选项,但此选项正在起作用,我更愿意继续使用它。
有谁知道 Serilog 版本 7 中可能发生的更改可能导致此问题?
我正在使用.NET 7.0。这是我的配置:
// Configure Serilog
string logFormat = "[{Timestamp:yyyy-MM-dd hh:mm:ss tt}][{Level:u3}] {Message:lj}{NewLine}{Exception}";
Log.Logger = new LoggerConfiguration()
.ReadFrom.Configuration(appServices.Configuration)
.WriteTo.Console(LogEventLevel.Verbose, logFormat)
.WriteTo.File(LogFile, LogEventLevel.Verbose, logFormat)
.WriteTo.List(LogEvents)
.CreateLogger();
这是我的配置部分。
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Warning",
"System": "Warning"
}
}
}
这被证明是 Serilog 7 中的一个错误,正如在 GitHub 上讨论的那样。