Flask应用本地正常Azure部署异常,如何查看详细报错?
排查Azure Web App上Flask 500错误的异常详情方法
临时开启Flask调试模式
在Flask代码里设置app.debug = True,或者启动命令用app.run(debug=True)——注意这只用来排查问题,生产环境必须关掉。部署后就能直接在页面看到详细的错误栈信息。查看Azure自带的日志流
登录Azure门户,找到你的Web App资源,进入「监测 > 日志流」,这里能实时刷出应用的所有输出,包括Flask抛出的异常细节,很直观。通过Kudu工具看日志文件
进入Web App的「部署中心 > 高级工具 > 前往」,打开Kudu界面后,点击「Debug console > CMD」,找到LogFiles目录,里面的application.log、stdout.log会记录应用运行时的错误,能找到本地没遇到的环境相关问题。配置Azure应用设置开详细错误
在Web App的「配置 > 应用设置」里,添加FLASK_ENV项,值设为development(排查完改回production),或者添加WEBSITE_DYNAMIC_CACHE设为0,关闭缓存后能确保错误信息正常输出。给自己的代码加日志记录
手动配置logging模块,把异常信息写入文件或控制台,比如:import logging from logging.handlers import RotatingFileHandler # 配置日志文件 handler = RotatingFileHandler('app.log', maxBytes=10000, backupCount=1) handler.setLevel(logging.INFO) app.logger.addHandler(handler) # 捕获500错误并记录详细栈信息 @app.errorhandler(500) def internal_error(error): app.logger.error(f"触发500错误: {error}", exc_info=True) return "服务器内部错误", 500之后通过Kudu或者日志流就能查到这些自定义日志。
内容的提问来源于stack exchange,提问作者Leon48912
相关产品推荐
相关产品推荐

