提问人:Banshee 提问时间:4/5/2023 更新时间:4/5/2023 访问量:62
使用 Serilog 获取 InnerExceptions?
Get InnerExceptions with Serilog?
问:
我在一个小而简单的 .NET Core 6 项目中绑定了 serilog,我惊讶地发现它没有记录整个带有内部异常的异常?
我尝试添加Serilog.Exceptions并相应地配置了appsettings:
"serilog": {
"Using": [
"Serilog.Enrichers.Environment",
"Serilog.Sinks.File",
"Serilog.Sinks.Console",
"Serilog.Exceptions"
],
"MinimumLevel": {
"Default": "Debug",
"Override": {
"Microsoft": "Warning",
"System": "Warning"
}
},
"WriteTo": [
{
"Name": "Console",
"Args": {
"outputTemplate": "[{Timestamp:yyyy-MM-dd HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception} {Properties:j}"
}
},
{
"Name": "File",
"Args": {
"path": "Logs/log.txt",
"outputTemplate": "[{Timestamp:yyyy-MM-dd HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception} {Properties:j}",
"formatter": "Serilog.Formatting.Json.JsonFormatter, Serilog",
"fileSizeLimitBytes": 1000000,
"rollOnFileSizeLimit": "true",
"shared": "true",
"flushToDiskInterval": 3
}
}
],
"Enrich": [
"FromLogContext",
"WithMachineName",
"WithProcessId",
"WithExceptionDetails"
],
"Properties": {
"Application": "MyApp"
}
它确实添加了数据,但没有内部异常?
我找到了向异常类添加扩展的建议,然后不要将异常 obj 发送到 LogError,而是让扩展提供自定义字符串。但是,如果有一天我想更改为另一个日志记录组件,这似乎是错误的做事方式。
答: 暂无答案
评论