You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Web Apps上Flask应用Python logging日志无法同步Application Insights需如何配置

Python Flask应用logging日志接入Azure Application Insights配置方案

1 Application Insights关联配置(Azure门户侧操作)

  • 进入部署应用的Azure Web App控制台,找到左侧菜单「设置 > 应用程序见解」,确认已开启Application Insights集成,且绑定了目标日志存储的Application Insights实例
  • 进入Web App的「配置 > 环境变量」页,新增如下两个环境变量:
    • APPLICATIONINSIGHTS_ENABLE_AGENT: true:开启Application Insights代理自动采集能力
    • APPLICATIONINSIGHTS_LOGGING_LEVEL: INFO:配置日志采集最低级别,可根据需求调整为DEBUG/WARNING/ERROR,必须与代码中logging设置的输出级别匹配
  • 保存配置后重启Web App实例,确保环境变量生效

2 应用代码侧适配配置

默认Python标准logging模块的日志只会输出到本地stdout/stderr或本地文件,需要绑定Application Insights专用的日志处理器才能完成上报,配置示例如下:

依赖安装

在项目的requirements.txt中添加如下依赖:

opencensus-ext-azure

部署时会自动安装,本地测试可手动执行pip install opencensus-ext-azure安装。

代码配置示例

import logging
from opencensus.ext.azure.log_exporter import AzureLogHandler
from flask import Flask

app = Flask(__name__)

# 初始化logging配置
logger = logging.getLogger(__name__)
# 日志输出级别需和门户配置的采集级别匹配
logger.setLevel(logging.INFO)
# 自动读取Web App环境中注入的Application Insights连接字符串,无需手动填写
logger.addHandler(AzureLogHandler())

# 接口测试示例
@app.route('/test')
def test_log():
    # 该日志会被上报到Application Insights
    logger.info("logging模块测试日志")
    return "测试完成"

if __name__ == '__main__':
    app.run()

3 日志验证

日志上报存在1-5分钟的延迟,配置完成后等待数分钟,进入Application Insights控制台的「日志」查询面板,执行如下语句查询上报的日志:

traces 
| where message contains "测试日志" 
| order by timestamp desc

如果查询不到,先检查代码中logging设置的输出级别是否低于门户配置的采集级别,低级别日志会被自动过滤。

内容的提问来源于stack exchange,提问作者Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 16:06:03