Как настроить Serilog для нескольких сред appsettings.json
В настоящее время я пытаюсь настроить appsettings.json так, чтобы у меня было несколько переменных Serilog для каждой из наших сред (Dev, UAT, Prod и т. Д.). У меня есть следующий serilog, который работает для dev:
"Serilog": {
"MinimumLevel": "Verbose",
"Using": [
"Serilog.Sinks.Console",
"Serilog.Sinks.Seq"
],
"WriteTo": [
{
"Name": "Console"
},
{
"Name": "Seq",
"Args": {
"serverUrl": "https://seq-dev.test.com"
},
"Properties": {
"Application": "Console.Sample",
"Environment": "Local"
}
}
]
},
Мое текущее решение - иметь массив экземпляров Serilog. Я собираюсь передать аргумент в main, определяющий, какую среду я хочу, и я должен использовать этот экземпляр Seq (пример: args: Environment = "d" для dev - это должно вытащить dev Serilog)
"d": {
"Serilog": {
"MinimumLevel": "Verbose",
"Using": [
"Serilog.Sinks.Console",
"Serilog.Sinks.Seq"
],
"WriteTo": [
{
"Name": "Console"
},
{
"Name": "Seq",
"Args": {
"serverUrl": "https://seq-dev.test.com"
},
"Properties": {
"Application": "Console.Sample",
"Environment": "Local"
}
}
]
}
},
"q": {
"Serilog": {
"MinimumLevel": "Verbose",
"Using": [
"Serilog.Sinks.Console",
"Serilog.Sinks.Seq"
],
"WriteTo": [
{
"Name": "Console"
},
{
"Name": "Seq",
"Args": {
"serverUrl": "https://seq-dev.test.com"
},
"Properties": {
"Application": "Console.Sample",
"Environment": "Local"
}
}
]
}
},
Любая помощь была бы замечательной. Заранее спасибо.
1 ответ
Это скорее вопрос конфигурации .
Вам необходимо указать json-файл appsettings для каждой среды.
Тот, который будет использоваться приложением, определяется этой переменной ENV.