本文介紹如何使用winston和winston-daily-rotate-file這兩個Node.JS庫實現日志文件輪轉功能。
前提條件: 確保已安裝Node.js。 若未安裝,請訪問Node.js官網下載安裝。
步驟:
-
安裝依賴庫: 打開終端或命令行,進入項目目錄,執行以下命令安裝必要的npm包:
npm install winston winston-daily-rotate-file
-
創建日志配置(logger.js): 創建一個名為logger.js的文件,并添加以下代碼:
const winston = require('winston'); const { format } = winston; const DailyRotateFile = require('winston-daily-rotate-file'); const logger = winston.createLogger({ level: 'info', // 日志級別 format: format.combine( format.timestamp(), format.printf(({ timestamp, level, message }) => `${timestamp} ${level}: ${message}`) ), transports: [ new DailyRotateFile({ filename: 'logs/application-%DATE%.log', // 日志文件路徑及命名模式 datePattern: 'yyYY-MM-DD', // 日期格式 zippedArchive: true, // 是否壓縮舊日志 maxSize: '20m', // 單個日志文件最大大小 maxFiles: '14d' // 保留最大日志文件天數 }) ] }); module.exports = logger;
該配置將日志寫入logs目錄下,文件名格式為application-YYYY-MM-DD.log,每天生成一個新的日志文件,舊日志文件會被壓縮并保留14天。 你可以根據需要調整maxSize和maxFiles參數。
-
使用日志記錄器: 在你的項目代碼中引入并使用logger:
const logger = require('./logger'); logger.info('應用啟動成功'); logger.error('發生錯誤:', error); logger.warn('警告信息');
現在,你的Node.js應用將使用配置的日志輪轉策略生成和管理日志文件。 記得創建logs目錄。
通過以上步驟,你可以輕松實現Node.js應用的日志輪轉功能,方便日志管理和分析。 記住根據實際情況調整日志文件路徑、大小和保留天數等參數。