Node.js日志的查看方式和存儲位置取決于日志輸出配置(如直接輸出到控制臺、寫入文件、發送到系統日志)和使用的進程管理工具(如PM2、systemd)。以下是常見場景的具體說明:
默認輸出位置
console.log()
或console.error()
輸出,日志會直接顯示在終端;若應用以守護進程(如&
后臺運行)啟動,這些輸出可能被系統日志捕獲(如Ubuntu/Debian的/var/log/syslog
、CentOS的/var/log/messages
)。自定義文件路徑
fs
模塊手動寫入:const fs = require('fs');
const logFilePath = './logs/app.log';
fs.appendFileSync(logFilePath, 'This is a log entry.\n');
const winston = require('winston');
const logger = winston.createLogger({
transports: [new winston.transports.File({ filename: '/var/log/myapp.log' })]
});
logs
文件夾(如./logs/app.log
)、系統目錄(如/var/log/myapp.log
)。系統日志(Systemd/Journald)
systemd
以服務形式運行(如node app.js --name my-nodejs-app
),日志會存儲在系統日志中,可通過journalctl
查看。直接查看日志文件
cat logs/app.log
:打印文件全部內容(適合小文件)。less logs/app.log
:分頁查看(按q
退出)。tail -f logs/app.log
:實時查看最新日志(常用于監控)。grep "error" logs/app.log
:搜索特定關鍵詞(如錯誤信息)。使用journalctl查看系統日志
systemd
運行,可通過服務名稱查看日志:journalctl -u your-nodejs-service-name -t # -t顯示日志標簽(如應用名稱)
my-nodejs-app
,命令為journalctl -u my-nodejs-app -t
。使用PM2查看進程日志
pm2 start app.js
),可通過以下命令查看日志:
pm2 logs
:顯示所有應用的實時日志。pm2 logs your-app-name
:查看特定應用的日志。pm2 logs --json
:以JSON格式輸出(適合自動化分析)。第三方日志管理工具
/var/log/syslog
)或自定義日志文件時,可能需要sudo
權限(如sudo tail -f /var/log/myapp.log
)。LOG_PATH
)指定日志路徑,可通過echo $LOG_PATH
(Linux/macOS)或echo %LOG_PATH%
(Windows)查看當前配置。