ARM 模板设置应用程序服务日志配置的结果不一致

Inconsistent Results From ARM Template Setting App Service Log Config

我遇到了与此 SO 用户 运行 到 ARM Template containing config settings for web app 相同的问题 该线程没有解决方案,所以我再次问基本相同的问题。我有一个看起来像这样的 ARM 模板:

{
  "name": "logs",
  "type": "config",
  "apiVersion": "2015-08-01",
  "dependsOn": [
    "[resourceId('Microsoft.Web/sites', parameters('AppServiceName'))]"
  ],
  "properties": {
    "applicationLogs": {
      "azureBlobStorage": {
        "level": "Verbose",
        "sasUrl": "[concat('https://',parameters('StorageAccountName'),'.blob.core.windows.net/logs',parameters('SasToken'))]",
        "retentionInDays": null
      }
    },
    "httpLogs": {
      "azureBlobStorage": {
        "sasUrl": "[concat('https://',parameters('StorageAccountName'),'.blob.core.windows.net/logs',parameters('SasToken'))]",
        "retentionInDays": 360,
        "enabled": true
      }
    },
    "failedRequestsTracing": {
      "enabled": true
    },
    "detailedErrorMessages": {
      "enabled": true
    }
  }
}

我会 运行 这一次,在资源浏览器中结果是

{
  "id": "/subscriptions/.../resourceGroups/.../providers/Microsoft.Web/sites/.../config/logs",
  "name": "logs",
  "type": "Microsoft.Web/sites/config",
  "location": "East US",
  "properties": {
    "applicationLogs": {
      "fileSystem": {
        "level": "Off"
      },
      "azureTableStorage": {
        "level": "Off",
        "sasUrl": null
      },
      "azureBlobStorage": {
        "level": "Verbose",
        "sasUrl": "VALID_SAS_URL",
        "retentionInDays": null
      }
    },
    "httpLogs": {
      "fileSystem": {
        "retentionInMb": 35,
        "retentionInDays": null,
        "enabled": false
      },
      "azureBlobStorage": {
        "sasUrl": "VALID_SAS_URL",
        "retentionInDays": null,
        "enabled": true
      }
    },
    "failedRequestsTracing": {
      "enabled": true
    },
    "detailedErrorMessages": {
      "enabled": true
    }
  }
}

资源浏览器和门户中的一切看起来都不错。 然后我再次 运行 相同的模板,结果是:

{
"id": "/subscriptions/.../resourceGroups/.../providers/Microsoft.Web/sites/.../config/logs",
"name": "logs",
"type": "Microsoft.Web/sites/config",
"location": "East US",
"properties": {
  "applicationLogs": {
    "fileSystem": {
      "level": "Off"
    },
    "azureTableStorage": {
      "level": "Off",
      "sasUrl": null
    },
    "azureBlobStorage": {
      "level": "Verbose",
      "sasUrl": null,
      "retentionInDays": null
    }
  },
  "httpLogs": {
    "fileSystem": {
      "retentionInMb": 35,
      "retentionInDays": null,
      "enabled": true
    },
    "azureBlobStorage": {
      "sasUrl": null,
      "retentionInDays": null,
      "enabled": false
    }
  },
  "failedRequestsTracing": {
    "enabled": true
  },
  "detailedErrorMessages": {
    "enabled": true
  }
}

我可以 运行 多次使用相同的模板,并且完全 运行dom 是否使用 ARM 模板中定义的设置启用诊断日志记录。

您是否也在模板中设置应用程序设置?我认为当它们一起使用时可能会出现问题。在您的模板中尝试以下操作:

  • 先设置应用设置
  • 然后使 config/log 依赖于应用程序设置。