在Ubuntu系統中,Node.js應用的日志記錄和分析是故障排查的重要環節。通過合理的日志管理和分析,可以有效地定位和解決應用中的問題。以下是一些關鍵方法和工具,幫助你在Ubuntu系統中使用Node.js進行日志記錄和故障排查。
使用console對象
console.log()
可能影響性能。文件日志
fs
模塊將日志寫入文件。const fs = require('fs');
const logStream = fs.createWriteStream('app.log', { flags: 'a' });
logStream.write('這是一條日志信息
'); ```
winston
或log4js
,這些庫提供了更靈活和可配置的日志記錄功能。const log4js = require('log4js');
log4js.configure({
appenders: {
out: { type: "stdout" },
app: {
type: "file",
filename: "logs/app.log",
pattern: "yyyy-MM-dd",
alwaysIncludePattern: true,
daysToKeep: 90,
compress: true,
},
},
categories: {
default: { appenders: ["out", "app"], level: "info" },
},
});
const logger = log4js.getLogger();
logger.trace('This is a trace log');
logger.debug('This is a debug log');
logger.info('This is an info log');
logger.warn('This is a warn log');
logger.error('This is an error log');
logger.fatal('This is a fatal log');
常用Linux命令
tail -f /path/to/logfile.log
cat /path/to/logfile.log
grep '關鍵字' /path/to/logfile.log
Logrotate
Systemd journal
journalctl -f
journalctl -b
journalctl -r -n 24
journalctl -k 'error'
確保在應用中妥善處理異常,并通過上述方法記錄錯誤信息,以便于追蹤問題。
通過這些方法和工具,你可以在Ubuntu系統中高效地記錄和分析Node.js應用的日志,從而提升應用的可維護性和問題排查效率。