que*_*tzt 5 deployment configuration logging azure-functions
我有一个具有多种功能的函数应用程序(v2、.NET Core)。此 Functions 应用程序部署到不同的环境(= 不同的订阅)。出于开发目的,我大量利用 (ILogger) 日志,但在部署到开发环境以外的其他环境时,我想关闭日志记录。Function 应用程序是通过 Azure DevOps 管道部署的。
您推荐哪种方法来实现这一点(在代码中,通过 appsettings,通过 host.json ......)?
谢谢
我还没有找到解决方案来使用例如可以通过应用程序设置进行设置的变量,并且我不想重构代码以使用某种调试标志(特别是因为其中还可以有其他设置host.json
)是环境特定的)。
host.json
我现在正在做的是使用管道中的PowerShell任务来根据环境设置内容。即,我host.json
在存储库中为每个环境都有一个文件,并且根据相应的环境, mainhost.json
设置为环境特定的内容host.json
。
PowerShell 任务如下所示:
###########################
# Get environment variables
$releaseEnvironment = $env:RELEASE_ENVIRONMENTNAME
$currentWorkingDirectory = $env:SYSTEM_DEFAULTWORKINGDIRECTORY
###########################
# Get config data
$configFileName = "$($releaseEnvironment)_host.json"
$configFilePath = "$currentWorkingDirectory$projectPath\Deployment\Host\$configFileName"
$configFileContent = Get-Content -Raw -Path $configFilePath | ConvertFrom-Json
Write-Host "Working with '$configFilePath'..."
###########################
# Update host.json
$pathToHostJsonInUse = "$currentWorkingDirectory$projectPath\host.json"
$configFileContent | ConvertTo-Json -Depth 100 | Set-Content -Path $pathToHostJsonInUse
Write-Host "Updated '$pathToHostJsonInUse'..."
Run Code Online (Sandbox Code Playgroud)
在这方面有用的资源有:
https://learn.microsoft.com/en-us/azure/azure-functions/functions-host-json
归档时间: |
|
查看次数: |
334 次 |
最近记录: |