Node.js在Ubuntu上的錯誤日志位置取決于運行方式和配置,以下是常見場景及對應路徑:
node app.js
啟動應用,錯誤信息會實時顯示在終端中(包括同步/異步錯誤、未捕獲異常等)。fs
模塊或日志庫(如winston
、pino
)指定了日志路徑(例如/home/username/project/logs/error.log
),錯誤會寫入該文件。需檢查應用代碼中的日志配置(如winston.createLogger
的transports.File
設置)確認具體路徑。若通過pm2 start app.js
啟動應用,PM2會自動捕獲錯誤并存儲到其日志目錄:
.pm2/logs/
文件夾,文件名為應用名-err.log
(例如my-node-app-err.log
)。pm2 logs 應用名
實時查看錯誤日志,或pm2 logs --lines 100
查看最近100行錯誤。若將Node.js應用配置為Systemd服務(例如nodejs.service
),錯誤日志會集成到系統日志中:
journalctl -u your-nodejs-service-name -t
(替換your-nodejs-service-name
為服務名稱,可通過systemctl list-units --type=service
獲?。┎榭磁cNode.js相關的錯誤日志。/var/log/syslog
、/var/log/kern.log
或/var/log/error.log
中,可使用cat
或tail
命令查看。若開發者手動配置了Systemd服務文件(如/etc/systemd/system/nodejs.service
),可能在服務配置中指定了日志路徑(例如StandardOutput=file:/var/log/nodejs/app.log
、StandardError=file:/var/log/nodejs/app-error.log
)。需檢查服務配置文件中的StandardOutput
和StandardError
參數確認。
winston
、pino
的transports
設置)和package.json
中的啟動腳本。ls -l /proc/<PID>/fd/
(<PID>
為Node.js進程ID,可通過ps aux | grep node
獲?。┛刹榭催M程打開的文件描述符,包括日志文件路徑。