首页主机资讯Ubuntu Node.js日志中如何查找关键信息

Ubuntu Node.js日志中如何查找关键信息

时间2025-12-18 15:54:04发布访客分类主机资讯浏览947
导读:Ubuntu 下 Node.js 日志关键信息定位与排查 一 定位日志来源 应用日志:优先在项目目录的 logs/ 或配置文件(如 config.json)中指定的路径,常见文件名有 app.log、error.log、combined....

Ubuntu 下 Node.js 日志关键信息定位与排查

一 定位日志来源

  • 应用日志:优先在项目目录的 logs/ 或配置文件(如 config.json)中指定的路径,常见文件名有 app.log、error.log、combined.log
  • 进程管理日志:使用 PM2 时,日志统一由 PM2 管理,可用 pm2 logs 查看。
  • 系统日志:若通过 systemd 托管服务,用 journalctl -u < service_name> 查看;通用系统日志在 /var/log/syslog
  • 快速确认路径与实时查看:
    • 查看应用日志:ls -l logs;tail -f logs/app.log
    • 查看服务日志:sudo journalctl -u < service_name> -f
    • 查看 PM2 日志:pm2 logs < app_name> --follow

二 快速筛选关键信息的命令

  • 按级别筛选:grep -i “error|warn|fatal” app.log;统计数量:grep -i “error” app.log | wc -l
  • 按时间窗口:awk ‘/2025-12-17 10:00:00/,/2025-12-17 11:00:00/’ app.log
  • 实时过滤关键字:tail -f app.log | grep --line-buffered “timeout\|ECONNREFUSED”
  • 仅看错误并附带上下文:grep -n -A5 -B5 “error” app.log
  • 在 systemd 日志中筛选:sudo journalctl -u < service_name> --since “10 minutes ago” | grep -i “error”
  • 在 PM2 日志中筛选:pm2 logs < app_name> --lines 1000 | grep WARN

三 常见关键错误与定位路径

  • 端口被占用 EADDRINUSE:ss -ltnp | grep < 端口> 或 lsof -i :< 端口> ;释放:kill -9
  • 模块未找到 Module not found:npm install < 模块名> ;检查 node_modulespackage.json 一致性
  • 语法错误 SyntaxError:检查对应文件的行号与语法;本地复现后修正
  • 未处理的 Promise 拒绝:为所有 Promise 加 .catch() 或使用 try/catch;临时兜底:process.on(‘unhandledRejection’, …)
  • 监听器泄漏 MaxListenersExceededWarning:排查重复 on(‘event’),必要时 myEmitter.setMaxListeners(20) 并 removeListener
  • 内存不足 JavaScript heap out of memory:短期提升 –max-old-space-size=4096;长期用 clinic/heapdump 定位泄漏

四 提升后续排查效率的实践

  • 使用结构化日志与合适级别:生产以 error/warn 为主,开发可开启 debug;推荐 JSON 格式,便于检索与聚合(如 winston、pino)。
  • 配置日志轮转:避免单文件过大,使用 logrotatewinston-daily-rotate-file 按日/大小切分并压缩归档。
  • 集中化与可视化:接入 ELK/Graylog/Splunk,用 Kibana 建立索引与可视化面板,支持快速检索与告警。
  • 性能与开销控制:高并发下优先 pino 等高性能库,采用异步写入,避免同步日志阻塞主线程。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Node.js日志中如何查找关键信息
本文地址: https://pptw.com/jishu/775182.html
如何通过Ubuntu Node.js日志提高系统安全性 如何利用Ubuntu Node.js日志优化数据库查询

游客 回复需填写必要信息