在Ubuntu系統中管理Node.js應用程序的日志文件是一個重要的任務,以確保系統的穩定性和安全性。以下是一些最佳實踐:
使用不同的日志級別(如error、warn、info、debug、trace)來區分事件的重要性,避免記錄不必要的信息。
配置日志輪換工具(如logrotate)按日期或大小輪換日志文件,防止單個文件過大。
示例配置(使用Log4js):
const log4js = require("log4js");
log4js.configure({
appenders: {
out: { type: "stdout" },
file: {
type: "file",
filename: "logs/app.log",
pattern: "yyyy-MM-dd",
alwaysIncludePattern: true,
daysToKeep: 90,
compress: true,
},
},
categories: {
default: {
appenders: ["out", "file"],
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");
定期清理舊的日志文件,避免日志文件無限制增長消耗過多磁盤空間??梢允褂妹钚谢蛉罩据嗈D工具(如logrotate)來清理日志。
使用日志分析工具(如Logwatch、Analog)來檢查和報告日志,設置日志級別以過濾不必要的信息。將關鍵日志發送到遠程服務器進行集中管理和分析,以提高日志管理的效率和效果。
如果你使用PM2來管理你的Node.js應用程序,那么日志文件默認會保存在 HOME/.pm2/logs/
目錄下。文件名通常是你的應用程序名稱加上 .err.log
后綴。
通過以上步驟和工具,可以有效地在Ubuntu系統中使用Node.js進行日志排查,幫助快速定位和解決問題。