在Ubuntu系統中監控Node.js應用程序的日志有多種方法,以下是一些常用的工具和命令:
console.log()
和 console.error()
在您的Node.js代碼中,使用 console.log()
輸出常規日志信息,使用 console.error()
輸出錯誤信息。這些日志將直接發送到控制臺。
tail -f
命令實時查看日志如果您的Node.js應用程序將日志輸出到文件(例如 /var/log/myapp.log
),您可以使用 tail -f
命令實時查看日志。在終端中輸入以下命令:
tail -f /var/log/myapp.log
這將顯示日志文件的最后幾行,并在文件更新時實時顯示新內容。
multitail
工具multitail
是一個強大的日志查看工具,可以同時監控多個日志文件,并提供實時更新、顏色高亮等功能。首先,您需要安裝 multitail
:
sudo apt-get install multitail
然后,使用以下命令監控Node.js應用程序的日志文件:
multitail /var/log/myapp.log
PM2 是一個進程管理器,可以提供進程監控、日志記錄和自動重啟等功能。首先,安裝 PM2:
sudo npm install pm2 -g
然后,使用以下命令來查看Node.js應用程序的實時日志:
pm2 logs
Winston 是一個流行的Node.js日志庫,支持多種傳輸方式(如文件、控制臺、HTTP等)。安裝 Winston:
npm install winston
配置 Winston 以將日志輸出到控制臺和文件:
const winston = require('winston');
const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
transports: [
new winston.transports.Console(),
new winston.transports.File({ filename: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'combined.log' }),
],
});
logger.info('Server started on port 3000');
logger.error('Database connection failed');
ELK Stack 是一個強大的日志管理和分析平臺。安裝 Elasticsearch 和 Kibana,并配置 Winston 發送日志到 Elasticsearch。更多詳細步驟可以參考相關文檔。
通過上述方法,您可以有效地監控 Ubuntu 上的 Node.js 應用程序日志,確保應用程序的穩定運行和問題的快速排查。