ARM 模板是否提供一种在创建资源期间捕获日志的方法

Do ARM templates provide a way to capture the logs during creation of resources

我们有创建 azure 资源的 ARM 模板。当我们 运行 创建资源的 powershell 脚本时,我们想要记录所有信息。

我们想知道 azure ARM 模板是否提供任何日志记录功能

我们的资源列表如下: - 存储帐户 - 自动化帐户 - 密钥库 - Sql 服务器池 - functionApp 等

最接近的是使用 -verbose 开关启动 new-azresourcegroupdeployment,这会让您了解发生了什么,但我真的认为您对此不感兴趣,您最感兴趣的是在错误中。相当确定 new-azresourcegroupdeployment 输出那些。

以下是您可以用于 New-AzureRmResourceGroupDeployment 的一些常规配置,以便从命令中获取最多的日志记录。如果需要,您可以查找等效的 AZ cmdlet。

您可以使用 -Verbose-DeploymentDebugLogLevel All 参数获取更多日志信息。请注意,部署调试参数会导致在您的控制台输出流中显示警告。

您可以使用 -ErrorVariable ErrorMessages 参数获取错误消息,然后在您的脚本中适当地使用它们。

最后,您可以使用 cmdlet 的 JSON output 获得一些见解(如果有的话)。

下面是 cmldet 通常对我来说的样子..

$jsonOutput = New-AzureRmResourceGroupDeployment -Name  $DeploymentName `
        -ResourceGroupName $ResourceGroupName `
        -TemplateFile $TemplateFileToDeploy `
        -TemplateParameterObject $TemplateParameters `
        -Force -Verbose `
        -ErrorVariable ErrorMessages -DeploymentDebugLogLevel All