【Azure App Service】分享使用Python Code获取App Service的服务器日志记录管理配置信息

简介: 本文介绍了如何通过Python代码获取App Service中“Web服务器日志记录”的配置状态。借助`azure-mgmt-web` SDK,可通过初始化`WebSiteManagementClient`对象、调用`get_configuration`方法来查看`http_logging_enabled`的值,从而判断日志记录是否启用及存储方式(关闭、存储或文件系统)。示例代码详细展示了实现步骤,并附有执行结果与官方文档参考链接,帮助开发者快速定位和解决问题。

问题描述

在App Service的门户页面,很容易就可以查看到“Web 服务器日志记录”是否配置。

但是,如何通过Python Code获取到呢?

 

问题解答

在使用 Python SDK 时获取 web app 的日志?这是一个常见的问题,尤其是在调试和监控应用程序时。可以通过 Web App ( App Service ) 提供的官方管理站点的SDK来实现:azure-mgmt-web

 

执行步骤

第一步:初始化 WebSiteManagementClient 对象

第二步:调用client.web_apps.get_configuration 就可以获取到 Web App的配置信息

第三步:查看 http_logging_enabled 的设置值

  • web服务器日志记录 -  关闭状态

http_logging_enabled False

  • web服务器日志记录 -  存储

http_logging_enabled True ,   WEBSITE_HTTPLOGGING_CONTAINER_URL: 存储容器,  WEBSITE_HTTPLOGGING_RETENTION_DAYS:  保留 天数

  • web服务器日志记录 -  文件系统 

http_logging_enabled True ,logs_directory_size_limit log quota (MB)大小, WEBSITE_HTTPLOGGING_RETENTION_DAYS:  保留 天数

 

示例代码

from azure.identity import DefaultAzureCredential
from azure.mgmt.web import WebSiteManagementClient
from azure.identity import ClientSecretCredential, AzureAuthorityHosts
client_id = 'xx-x-x-x-xxx'
azure_secret = "xxxxxx"
client_tenant = 'xx-x-x-x-xxx'
credential_scopes = ["https://management.chinacloudapi.cn/.default"]
base_url = 'https://management.chinacloudapi.cn/'
credentials = ClientSecretCredential(tenant_id=client_tenant,
                                                 client_id=client_id,
                                                 client_secret=azure_secret,
                                                 authority=AzureAuthorityHosts.AZURE_CHINA)
# Replace with your subscription ID
subscription_id = 'xx-x-x-x-xxx'
# Replace with your resource group name and app service name
resource_group_name = 'xxxx'
app_service_name = 'xxxx'
# Create a WebSiteManagementClient
client = WebSiteManagementClient(credentials, subscription_id,base_url=base_url, credential_scopes=credential_scopes)
# Get the app settings
app_settings = client.web_apps.list_application_settings(resource_group_name, app_service_name)
# Print the app settings
for key, value in app_settings.properties.items():
    print(f"{key}: {value}")
print("----------------------------------\n")
# Get the app service configuration
app_service_config = client.web_apps.get_configuration(resource_group_name, app_service_name)
# Print the app service configuration
print(app_service_config)

 

执行结果

 

参考资料

get_configuration : https://learn.microsoft.com/en-us/python/api/azure-mgmt-web/azure.mgmt.web.v2024_04_01.operations.webappsoperations?view=azure-python#azure-mgmt-web-v2024-04-01-operations-webappsoperations-get-configuration

Gets the configuration of an app, such as platform version and bitness, default documents, virtual applications, Always On, etc.

Description for Gets the configuration of an app, such as platform version and bitness, default documents, virtual applications, Always On, etc.

 


 

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
11月前
|
监控 安全 程序员
Python日志模块配置:从print到logging的优雅升级指南
从 `print` 到 `logging` 是 Python 开发的必经之路。`print` 调试简单却难维护,日志混乱、无法分级、缺乏上下文;而 `logging` 支持级别控制、多输出、结构化记录,助力项目可维护性升级。本文详解痛点、优势、迁移方案与最佳实践,助你构建专业日志系统,让程序“有记忆”。
963 0
|
JSON 监控 数据格式
1688 item_search_app 关键字搜索商品接口深度分析及 Python 实现
1688开放平台item_search_app接口专为移动端优化,支持关键词搜索、多维度筛选与排序,可获取商品详情及供应商信息,适用于货源采集、价格监控与竞品分析,助力采购决策。
|
缓存 监控 Android开发
京东 item_get_app 接口深度分析及 Python 实现
京东item_get_app接口可获取商品原始详情数据,包含更丰富的字段和细节,适用于电商分析、价格追踪等场景。需通过认证获取权限,支持字段筛选和区域化数据查询。
|
缓存 数据挖掘 API
淘宝 item_get_app 接口深度分析及 Python 实现
淘宝item_get_app接口是淘宝开放平台提供的移动端商品详情数据获取接口,相较PC端更贴近APP展示效果,支持获取APP专属价格、促销活动及详情页结构,适用于电商导购、比价工具、数据分析等场景。接口采用appkey+appsecret+session认证机制,需申请相应权限。本文提供Python调用示例及使用注意事项,帮助开发者高效对接移动端商品数据。
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1959 5
|
缓存 供应链 开发者
1688 item_get_app 接口深度分析及 Python 实现
1688平台item_get_app接口专为移动端设计,提供商品原始详情数据,包含批发价格、起订量、供应商信息等B2B特有字段,适用于采购决策、供应链分析等场景。接口需通过appkey+access_token认证,并支持字段筛选,返回结构化数据,助力企业实现智能采购与供应商评估。
|
安全 BI 网络安全
EventLog Analyzer 如何满足等保合规要求?密码有效期、产品日志保留、配置备份三大核心问题全面解答
EventLog Analyzer(ELA)助力企业满足网络安全等级保护要求,支持配置自动/手动备份、日志180天留存及密码策略管理,提升合规性与安全运营效率。
417 0
|
11月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
919 10
|
11月前
|
弹性计算 ice
阿里云4核8g服务器多少钱一年?1个月和1小时价格,省钱购买方法分享
阿里云4核8G服务器价格因实例类型而异,经济型e实例约159元/月,计算型c9i约371元/月,按小时计费最低0.45元。实际购买享折扣,1年最高可省至1578元,附主流ECS实例及CPU型号参考。
933 8
|
11月前
|
运维 安全 Ubuntu
阿里云渠道商:服务器操作系统怎么选?
阿里云提供丰富操作系统镜像,涵盖Windows与主流Linux发行版。选型需综合技术兼容性、运维成本、安全稳定等因素。推荐Alibaba Cloud Linux、Ubuntu等用于Web与容器场景,Windows Server支撑.NET应用。建议优先选用LTS版本并进行测试验证,通过标准化镜像管理提升部署效率与一致性。

推荐镜像

更多