商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Node.js在Ubuntu上的错误日志在哪

Node.js在Ubuntu上的错误日志在哪

  发布于2026-07-16 阅读(0)

扫一扫,手机访问

Node.js在Ubuntu上运行时,错误日志究竟藏在哪里?这其实取决于你的启动方式和具体配置。下面就把常见场景和对应的路径一一梳理清楚,方便你快速定位问题。

Node.js在Ubuntu上的错误日志在哪

1. 直接运行Node.js应用(无进程管理器)

  • 控制台输出:如果直接用 node app.js 启动,错误信息会实时显示在终端里——无论是同步异常、异步报错,还是未捕获的崩溃,都能一眼看到。这其实是最直接的“日志”方式。
  • 自定义日志文件:如果代码里通过 fs 模块或者日志库(比如 winstonpino)指定了输出路径,比如 /home/username/project/logs/error.log,那么错误就会写入那个文件。这时候需要翻翻应用代码里的日志配置——比如 winston.createLoggertransports.File 的设置,才能确认具体路径。

2. 使用PM2进程管理器

如果通过 pm2 start app.js 启动,PM2 会自动捕获应用的所有错误,并统一存放到自己的日志目录里:

  • 默认路径:错误日志位于用户主目录下的 .pm2/logs/ 文件夹,文件名是 应用名-err.log(比如 my-node-app-err.log)。
  • 查看命令:用 pm2 logs 应用名 可以实时看错误日志,或者 pm2 logs --lines 100 只看最近100行,非常方便。

3. 通过Systemd服务运行

如果把 Node.js 应用配置成 Systemd 服务(比如 nodejs.service),错误日志就会汇入系统日志体系:

  • 查看命令:使用 journalctl -u your-nodejs-service-name -t(把 your-nodejs-service-name 换成实际的服务名称,可以通过 systemctl list-units --type=service 找到)。这条命令会过滤出与 Node.js 相关的错误日志。
  • 系统日志文件:部分系统也会把 Node.js 错误记录到 /var/log/syslog/var/log/kern.log/var/log/error.log 中,直接用 cattail 查看即可。

4. 自定义系统日志路径

如果开发者手动配置了 Systemd 服务文件(比如 /etc/systemd/system/nodejs.service),很可能在服务配置里指定了日志路径。例如 StandardOutput=file:/var/log/nodejs/app.logStandardError=file:/var/log/nodejs/app-error.log。这时候直接检查服务配置文件中的 StandardOutputStandardError 参数,就能找到日志的准确位置。

注意事项

  • 如果没明确配置日志路径,优先检查应用代码里的日志配置(比如 winstonpinotransports 设置),以及 package.json 中的启动脚本。有时候日志可能被写到了默认的 npm 输出里。
  • 还有一个万能技巧:用 ls -l /proc//fd/ 是 Node.js 进程ID,可以通过 ps aux | grep node 获取),可以列出进程打开的所有文件描述符,日志文件的路径就在其中。这招在找不到日志时尤其管用。
本文转载于:https://www.yisu.com/ask/30683843.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注