溫馨提示×

Node.js 應用在 Debian 上如何配置日志

小樊
52
2025-07-07 11:42:46
欄目: 編程語言

在 Debian 上配置 Node.js 應用的日志,可以遵循以下步驟:

  1. 安裝 Node.js:首先確保你已經在 Debian 系統上安裝了 Node.js。如果還沒有安裝,可以通過以下命令安裝:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs

這里我們安裝的是 Node.js 14.x 版本,你可以根據需要選擇其他版本。

  1. 創建日志目錄:在你的 Node.js 應用目錄下創建一個用于存放日志的文件夾。例如:
mkdir logs
  1. 配置日志記錄:在你的 Node.js 應用中,可以使用第三方日志庫(如 winstonmorgan)來記錄日志。這里以 winston 為例:

首先,安裝 winston

npm install winston

然后,在你的應用中配置 winston

const winston = require('winston');

const logger = winston.createLogger({
  level: 'info',
  format: winston.format.json(),
  transports: [
    new winston.transports.File({ filename: 'logs/error.log', level: 'error' }),
    new winston.transports.File({ filename: 'logs/combined.log' }),
  ],
});

if (process.env.NODE_ENV !== 'production') {
  logger.add(new winston.transports.Console({
    format: winston.format.simple(),
  }));
}

這里我們配置了兩個日志文件:一個用于記錄錯誤日志(error.log),另一個用于記錄所有級別的日志(combined.log)。在生產環境中,只有錯誤日志會被記錄到文件中;在開發環境中,所有日志都會被記錄到控制臺。

  1. 使用日志記錄:在你的應用中使用 logger 對象記錄日志:
logger.info('Server is running on port 3000');
logger.error('An error occurred:', error);
  1. 設置日志輪轉:為了防止日志文件過大,可以使用 winston-daily-rotate-file 庫來實現日志輪轉。首先安裝該庫:
npm install winston-daily-rotate-file

然后,在 winston 配置中添加輪轉設置:

const { DailyRotateFile } = require('winston-daily-rotate-file');

const logger = winston.createLogger({
  level: 'info',
  format: winston.format.json(),
  transports: [
    new DailyRotateFile({ filename: 'logs/error-%DATE%.log', level: 'error' }),
    new DailyRotateFile({ filename: 'logs/combined-%DATE%.log' }),
  ],
});

if (process.env.NODE_ENV !== 'production') {
  logger.add(new winston.transports.Console({
    format: winston.format.simple(),
  }));
}

這里我們使用了 DailyRotateFile 傳輸方式,它會每天自動創建一個新的日志文件,并在文件名中添加日期。你可以根據需要調整輪轉策略。

現在,你的 Node.js 應用已經在 Debian 上配置好了日志記錄。你可以根據實際需求調整日志級別、格式和輪轉策略。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女