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

Azure Linux App Service 应用程序日志无法在监控界面正常显示问题咨询

Linux Azure App Service 应用内部日志不输出到Log Stream的排查解决方案

容易忽略的隐藏配置/前置要求

  • 日志输出路径要求:Linux App Service 默认只会收集/home/LogFiles/目录下后缀为.log的文件内容到Log Stream,同时只识别应用向标准输出(stdout)、标准错误(stderr)打印的内容,如果你调整过应用日志的输出路径,或者日志写入到非stdout/stderr且不在上述默认目录下,就会无法被捕获。
  • 运行时特定配置:
    • 对于.NET Core/.NET 5+应用:需要在应用配置中添加环境变量ASPNETCORE_LOGGING__CONSOLE__DISABLECOLORS=true,带颜色的控制台输出会被Azure日志采集组件过滤,同时要确保你的日志配置启用了Console输出提供者。
    • 对于Python/Node.js/Java等应用:要确保日志没有被应用层的日志框架配置为仅输出到文件而关闭了console输出,同时关闭日志的彩色编码输出。
  • App Service 日志配额限制:File System模式的应用日志默认有30MB的存储空间上限,超过配额后会暂停日志采集,你可以在「App Service Logs」页签调整配额上限(最高100MB),或者配置应用日志定时轮转避免溢出。
  • 本地缓存配置冲突:如果你在应用配置中开启了本地缓存(环境变量WEBSITE_LOCAL_CACHE_OPTION设置为Always),默认会导致/home目录的写入被重定向到本地临时存储,日志不会同步到Log Stream的采集源,需要额外添加环境变量WEBSITE_LOCAL_CACHE_LOGGING_OPTION设置为WriteThrough让日志同时写入共享存储供采集。

上层资源关联解决方法

  • Application Insights 集成:直接在App Service左侧菜单的「应用程序见解」页签开启Application Insights集成,开启后会自动注入探针采集应用内部日志、依赖、请求等全链路数据,无需修改应用代码,采集到的日志可以在Application Insights的「事务搜索」或者「日志」页签查询,也可以配置将日志同步到Log Analytics工作区做长期存储。
  • 诊断设置导出:在App Service的「诊断设置」页签新增配置,勾选「AppServiceConsoleLogs」(即应用stdout/stderr输出),将导出目标选择为已有的Log Analytics工作区,配置完成后10-15分钟即可在工作区的AppServiceConsoleLogs表中查询到应用内部日志,不受File System日志配额的限制。

快速验证步骤

  • 进入App Service的「高级工具(Kudu)」,点击「Debug console > Bash」进入容器终端
  • 手动执行命令:echo "test log message" >> /home/LogFiles/test.log,再切换到Log Stream页签查看是否能捕获到这条测试日志,可直接判断是采集链路问题还是应用日志输出配置问题
  • 如果测试日志能正常显示,说明问题出在应用本身的日志配置,需要检查应用日志框架是否正确输出到stdout/stderr或者/home/LogFiles目录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 10:48:02