将数组从 appsettings.{Environment}.json 添加到 appsettings.json
Appending arrays in from appsettings.{Environment}.json to appsettings.json
这与 非常相似,除了它是关于在两个不同的 JSON 文件之间附加数组。
我有一个 ASP.NET 核心应用程序
我在 appsettings.Development.Json
中有以下内容
"Serilog": {
"WriteTo": [
{
"Name": "ApplicationInsightsTraces",
"Args": { "instrumentationKey": "XXXXXXXX" }
}
]
}
并且在`appsettings.json:
"Serilog": {
// . . . Rest of Serilog configs
"WriteTo": [
{
"Name": "Console",
"Args": {
"theme": "Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme::Code, Serilog.Sinks.Console",
"outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {RequestId}-{SourceContext} {$Scope:lj}: {Message:lj}{NewLine}{Exception}"
},
"restrictedToMinimumLevel": "Information"
},
}
因为键会覆盖 Appsettings.json 中的其他键,所以我最终会覆盖控制台接收器。是否有允许附加它的语法?
答案是使用 WriteTo:1
并使其成为 appsettings.Development.json
中的对象而不是数组,如下所示:
"Serilog": {
"WriteTo:1":
{
"Name": "ApplicationInsightsTraces",
"Args": { "instrumentationKey": "d95066c9-0b17-4e0a-84d4-bb2a4f111016" }
}
}
这与
我有一个 ASP.NET 核心应用程序
我在 appsettings.Development.Json
中有以下内容 "Serilog": {
"WriteTo": [
{
"Name": "ApplicationInsightsTraces",
"Args": { "instrumentationKey": "XXXXXXXX" }
}
]
}
并且在`appsettings.json:
"Serilog": {
// . . . Rest of Serilog configs
"WriteTo": [
{
"Name": "Console",
"Args": {
"theme": "Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme::Code, Serilog.Sinks.Console",
"outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {RequestId}-{SourceContext} {$Scope:lj}: {Message:lj}{NewLine}{Exception}"
},
"restrictedToMinimumLevel": "Information"
},
}
因为键会覆盖 Appsettings.json 中的其他键,所以我最终会覆盖控制台接收器。是否有允许附加它的语法?
答案是使用 WriteTo:1
并使其成为 appsettings.Development.json
中的对象而不是数组,如下所示:
"Serilog": {
"WriteTo:1":
{
"Name": "ApplicationInsightsTraces",
"Args": { "instrumentationKey": "d95066c9-0b17-4e0a-84d4-bb2a4f111016" }
}
}