溫馨提示×

Node.js在Ubuntu上的錯誤日志在哪

小樊
54
2025-10-01 22:12:37
欄目: 編程語言

Node.js在Ubuntu上的錯誤日志位置取決于運行方式和配置,以下是常見場景及對應路徑:

1. 直接運行Node.js應用(無進程管理器)

  • 控制臺輸出:若直接通過node app.js啟動應用,錯誤信息會實時顯示在終端中(包括同步/異步錯誤、未捕獲異常等)。
  • 自定義日志文件:若代碼中通過fs模塊或日志庫(如winston、pino)指定了日志路徑(例如/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獲?。┎榭磁cNode.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.log、StandardError=file:/var/log/nodejs/app-error.log)。需檢查服務配置文件中的StandardOutputStandardError參數確認。

注意事項

  • 若未明確配置日志路徑,優先檢查應用代碼中的日志配置(如winston、pinotransports設置)和package.json中的啟動腳本。
  • 使用ls -l /proc/<PID>/fd/<PID>為Node.js進程ID,可通過ps aux | grep node獲?。┛刹榭催M程打開的文件描述符,包括日志文件路徑。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女