내 azure 함수 응용 프로그램에 serilog를 추가하려고합니다. 하지만 local.settings.json에서 serilog 구성을 읽을 수 없으며 serilog 구성 azure 응용 프로그램 설정을 얻는 방법을 찾지 못했습니다.
내 serilog 설정이 환경 / 플랫폼에 따라 다르기 때문에 구성에서 설정을 읽는 것을 좋아합니다.
내 startup.cs에 아래 코드를 추가했습니다.
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("local.settings.json", true, true)
.AddEnvironmentVariables()
.Build();
var logger = new LoggerConfiguration()
.ReadFrom.Configuration(config)
.CreateLogger();
local.settings.json에 serilog 구성 세부 정보가 있습니다.
"Serilog": {
"MinimumLevel": {
"Default": "Verbose"
},
"WriteTo": [
{
"Name": "Seq",
"Args": { "serverUrl": "http://DEV01:5341" }
},
{
"Name": "Logentries",
"Args": { "Token": "ABCDXYZ" }
},
{
"Name": "Console"
}
]
}
감사합니다.
Azure Portal의 애플리케이션 설정 또는 형식 local.settings.json
만 허용하는 값 Dictionary<string, string>
. 에서 두 개 이상의 수준으로 설정을 사용 local.settings.json
하는 경우 전체 "값"섹션이 무시됩니다. 다음과 같아야합니다.
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "node",
"key1":"value1"
}
}
Azure Portal에서도 키-값 형식 만.
이런 방식으로 환경 변수에서 이러한 설정을 가져올 수 있습니다.
Environment.GetEnvironmentVariable("key")
따라서 해결 방법은
1. json 파일을 읽고 구문 분석합니다.
2. : 사용하여 중첩 : 키 : 다운
참고:
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다