gpt4 book ai didi

json - 在 Serilog 中,如何在使用 {Properties} 格式说明符时从 JSON 格式的日志消息中删除空括号?

转载 作者:行者123 更新时间:2023-12-03 15:16:57 24 4
gpt4 key购买 nike

我有以下 outputTemplate字符串:

var formatString = "{NewLine}[{Timestamp:dd-MMM-yyyy HH:mm:ss}] {Level} {SourceContext}{NewLine}{Properties:j}{NewLine}{Message:lj}{NewLine}{Exception}";

我有几个丰富的配置来添加和删除属性。在没有要记录的属性的情况下,我一直在一行中获取空的 JSON 括号。例如,当有要记录的属性时,我会收到如下日志消息:
[05-Jul-2019 07:13:57] Information Microsoft.AspNetCore.Mvc
{ "UserName": "SomeUser" }
This is some log message with a property that was not removed by any of the enrichers.

但是,在没有属性的情况下,我会得到这个
[05-Jul-2019 07:13:57] Information Microsoft.AspNetCore.Mvc
{}
This is some log message that contains no properties

空的 JSON 括号 {}散落在我的日志中,只是增加了噪音。如何扩展或覆盖 Serilog 以摆脱这些括号?

最佳答案

你可以使用这个 serilog 扩展:dotnet add package Serilog.Expressionsgithub serilog-expressions: Conditional blocks : 你可以做类似的事情 ... {#if Property is not null} ({Property}){#end} ...

关于json - 在 Serilog 中,如何在使用 {Properties} 格式说明符时从 JSON 格式的日志消息中删除空括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56902157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com