ubuntu

Ubuntu Node.js日志如何快速定位问题

小樊
43
2025-12-04 02:29:23
栏目: 编程语言

Ubuntu 上用日志快速定位 Node.js 问题的实操流程

一 定位日志来源与实时查看

二 高效检索与过滤

三 常见错误模式与一键处置

现象关键词 典型原因 快速定位 处置命令示例
EADDRINUSE 端口被占用 grep -i “EADDRINUSE” logs/app.log;确认端口 sudo lsof -i :3000;sudo kill -9
EACCES 权限不足(文件/端口/目录) grep -i “EACCES” logs/app.log 修正目录/文件权限或以合适用户运行
Module not found 依赖缺失 grep -i “Module not found” logs/app.log npm install <module_name>
SyntaxError 语法错误 查看报错文件与行号 修正代码后重启
UnhandledPromiseRejectionWarning Promise 未 catch grep -i “UnhandledPromiseRejectionWarning” 为所有 Promise 加 .catch;全局监听 process.on(‘unhandledRejection’)
MaxListenersExceededWarning 事件监听器泄漏 grep -i “MaxListenersExceededWarning” 移除重复监听或 emitter.setMaxListeners()
ENOMEM / heap out of memory 内存不足/泄漏 grep -i “heap out of memory” logs/app.log node --max-old-space-size=4096 app.js;用 clinic/heapdump 分析
DeprecationWarning 使用了废弃 API grep -i “DeprecationWarning” logs/app.log 升级 Node 与依赖;替换废弃 API(如 Buffer() → Buffer.alloc())
以上模式与处置要点可显著缩短定位时间,尤其是端口占用、未处理 Promise、监听器泄漏与内存问题。

四 提升日志可观测性

五 无法立即复现时的调试与兜底

0
看了该问题的人还看了