Node.js无法在终端输出请求日志 运行报错求助
Node.js 服务无法打印请求日志排查方案
- 先校验日志逻辑位置:如果是Express/Koa这类Web框架写的服务,先确认
console.log打印请求参数/路径的代码,或者morgan这类日志中间件,是写在所有路由注册逻辑之前的。如果日志逻辑写在路由后面,请求匹配到路由就会直接返回响应,根本走不到后续日志逻辑,不会有输出。 - 确认启动的是正确文件:核对你终端执行的启动命令里的入口文件路径,和课程里要求的、你写了日志逻辑的文件路径完全一致,很多时候会误跑同目录下其他旧练习文件,改的代码根本没被加载执行。
- 排查端口占用问题:
- Mac/Linux环境执行
lsof -i :你的服务端口号,Windows环境执行netstat -ano | findstr 你的服务端口号,看返回的进程PID是不是你刚启动的Node进程 - 如果查到是之前没关的旧Node进程占了端口,直接执行
kill -9 PID(Mac/Linux)或者taskkill /f /pid PID(Windows)杀掉旧进程,再重新启动服务
- Mac/Linux环境执行
- 校验代码是否正常启动:执行
node --check 你的入口文件路径做语法检查,排除语法错误导致服务根本没正常启动的情况;同时看VS Code终端的输出筛选规则,不要选「仅错误」级别,切到「全部输出」避免普通日志被过滤。 - 确认请求确实打到你的服务:发请求的时候核对请求地址的端口、路径,和你本地启动的服务配置完全一致,别把请求发到别的端口的服务上。
如果走完以上步骤问题还存在,直接贴出终端完整报错文本、入口文件核心代码段,不要只给局部截图,能快速定位根因。
内容的提问来源于stack exchange,提问作者Cam
相关产品推荐
相关产品推荐

