В приложении ASP.NET Core у меня есть файл конфигурации appsettings.json
, в котором для настройки набора параметров используется массив JSON.
Как переопределить настройку одного из объектов массива с помощью переменных среды?
Фон
Я использую serilog в основном приложении ASP.NET и использую Serilog.Settings.Configuration, чтобы разрешить его настройку с помощью appsettings.json
.
Конфигурация такая:
{
"Serilog": {
"Using": ["Serilog.Sinks.Literate"],
"MinimumLevel": "Debug",
"WriteTo": [
{ "Name": "File", "Args": { "path": "%TEMP%\\Logs\\serilog-configuration-sample.txt" } }
],
"Enrich": ["FromLogContext", "WithMachineName", "WithThreadId"],
"Properties": {
"Application": "Sample"
}
}
}
При развертывании я хочу переопределить некоторые настройки, например, MinimumLevel и путь к файлу журнала. Я предпочитаю делать это с помощью переменных среды при развертывании в службе приложений Azure, поэтому я буду использовать параметры приложения через портал управления Azure (они реализованы как переменные среды).
Я легко могу установить MinimumLevel, добавив переменную среды с именем: Serilog:MinimumLevel
и именем приложения Serilog:Properties:Application
.
В каком формате указывается настройка с помощью массива?