Добавление массивов из appsettings. {Environment} .json в appsettings.json - PullRequest
0 голосов
/ 04 мая 2018

Это очень похоже на этот вопрос , за исключением вопроса о добавлении массивов между двумя различными файлами JSON.

У меня есть приложение ASP.NET Core

У меня есть следующее в 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, я получаю переопределение приемника консоли. Существует ли синтаксис, позволяющий добавить его?

1 Ответ

0 голосов
/ 04 мая 2018

Ответ - использовать WriteTo:1 и сделать его объектом, а не массивом в appsettings.Development.json, например:

"Serilog": {
  "WriteTo:1": 
  {
    "Name": "ApplicationInsightsTraces",
    "Args": { "instrumentationKey": "d95066c9-0b17-4e0a-84d4-bb2a4f111016" }
  }
}
...