Azure上Node.js应用日志流为空的原因排查求助
Node.js Azure 应用日志流为空排查方案
修正IISNode配置细节
确保IISNode.yml里同时配置两项:loggingEnabled: true logDirectory: iisnode代码里的日志必须用
console.log/console.error输出到标准流,不要自定义写入本地文件——Azure App Service默认只捕获stdout/stderr的内容,自定义文件路径需要额外配置权限,容易出问题。强制生效日志配置
进入Azure门户应用服务的「日志」选项卡:- 确认「应用日志记录(文件系统)」已开启,级别设为Verbose
- 点击「保存」后立即重启应用,很多配置变更必须重启才会生效,这一步是高频遗漏点。
检查SCM站点的日志目录状态
登录myserver.scm.azurewebsites.net,进入「调试控制台」→「CMD」,查看D:\home\LogFiles\iisnode目录是否存在:- 若不存在,手动创建该目录,右键设置权限给
IIS_IUSRS(读写权限) - 若存在,查看目录下是否有生成日志文件,确认IISNode是否在正常记录。
- 若不存在,手动创建该目录,右键设置权限给
验证日志逻辑的执行条件
把代码里的定时日志间隔改短到10秒,重新部署后测试:- 如果本地测试日志正常输出,但Azure上没内容,检查应用是否处于休眠状态(免费/共享计划会自动休眠),需升级到基础版及以上计划并开启「始终开启」配置。
排查底层错误日志
在SCM站点的D:\home\LogFiles\Application目录下,查看stdout.log、stderr.log,或者iisnode目录下的日志文件,有没有IISNode加载失败、代码运行报错等信息——这些底层错误会导致日志系统无法正常工作。
内容的提问来源于stack exchange,提问作者bluecloud511
相关产品推荐
相关产品推荐

