gpt4 book ai didi

.net - 使用 serilog 记录 json

转载 作者:行者123 更新时间:2023-12-04 17:54:36 24 4
gpt4 key购买 nike

我想将任何 json 记录到 serilog 属性中。我已经阅读了很多关于 serilog 和 json 的内容,但它是一个结构化的 json 日志记录,带有消息模板。所以不要记录这个 Log.Info("{@text}",text);我想这样做:

var json="{ \"text\": \"hello\" }"; //a json string or a Json object
Log.Info(json);

主要区别在于,使用第一种方法时,您有一个消息模板,并且始终有一个“文本”属性。我想要具有不同结构的 json,例如,如果我有:
var json="{ \"text\": \"hello\", \"text2\": \"hello2\" }"; //a json string or a Json object
Log.Info(json);

我想获得2个属性,即每个json属性1个属性,而不必定义消息模板。这可能吗?我必须实现我自己的 JsonFormatter 吗?

最佳答案

您必须将记录器配置为使用 Json.JsonFormatter 并且在记录信息时传递对象,Serilog 将序列化对象。

配置

Log.Logger = new LoggerConfiguration()
.WriteTo.RollingFile(new JsonFormatter(), Path.Combine(@"c:\log", "[filename]-{Date}.txt"))
.CreateLogger()

关于.net - 使用 serilog 记录 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41449114/

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