【发布时间】:2020-01-24 22:58:11
【问题描述】:
使用 serilog 记录一个对象,例如Log.Information("{@log}", log)。其中 log 是自定义对象。
日志出来像
{
"@t": "2020-01-24T09:31:23.5064000Z",
"@mt": "{@log}",
"log": {
"TraceId": "e57afecc-8efe-4d48-8057-d46cce71c3d9",
"Timestamp": "01/24/2020 09:31:23",
"Service": "serviceType",
"Action": "actionType",
"$type": "BaseLog"
}
}
我不想在那里有额外的 serilog 属性,而只是有我的日志的扁平结构,例如
即使我在使用CompactJsonFormatter
{
"TraceId": "e57afecc-8efe-4d48-8057-d46cce71c3d9",
"Timestamp": "01/24/2020 09:31:23",
"Service": "serviceType",
"Action": "actionType"
}
是否有可以删除这些的 serilog 选项/扩展?
【问题讨论】:
-
尝试更改默认格式输出字符串:github.com/serilog/serilog/wiki/Formatting-Output
-
这几乎是设计使然,请参阅自述文件github.com/serilog/serilog-formatting-compact - 扫描代码以查看是否有解决方法(也想知道为什么您实际上不需要消息,请参阅nblumhardt.com/2016/06/…)
-
阅读更多内容:您可以将日志映射到 LogEvent 和/或使用 stackoverflow.com/questions/49592351/… 中的技术