有谁知道如何将 .NET Core C# 中结构化日志记录的行为/格式更改为驼峰式(例如:camelCase)?我正在尝试利用结构化日志记录,如下所示:
Logger.LogInformation("Some text here. My object: {@some_class}", someClass);
假设某个类如下所示:
class SomeClass {
[JsonProperty(PropertyName = "intField")] // this does NOT work for structured logging
int IntField {get;set;}
string StrField {get;set;}
}
为简洁起见,我将收到如下输出:
{
...
"message": "Some text here. My object: {\"IntField\":5,\"StrField\":\"I'm here\"}",
"some_class": {
"IntField":5,
"StrField":"I'm here"
},
...
}
但我想要的是所有字段都是驼峰式,就像日志中的所有父字段一样。以下是期望的结果:
{
...
"message": "Some text here. My object: {\"IntField\":5,\"StrField\":\"I'm here\"}",
"some_class": {
"intField":5,
"strField":"I'm here"
},
...
}
我尝试使用新的 JsonSerializerSettings 对象设置我的 JsonConvert.DefaultSettings 以强制使用驼峰式大小写,但我假设这仅在我实际序列化为字符串时才有效(从 StackOverflow 问题中获得)。我猜记录器不会在引擎盖下使用。
如果对我使用有帮助,我正在使用 .NET Core 2.2 和 v4.8.1。