溫馨提示×

Debian中Node.js日志級別怎么設置

小樊
43
2025-05-11 19:25:51
欄目: 編程語言

在Debian系統中,Node.js應用程序的日志級別通常是通過應用程序本身的配置來設置的,而不是通過系統級的配置。以下是一些常見的方法來設置Node.js應用程序的日志級別:

1. 使用環境變量

許多Node.js日志庫(如winston、morgan等)支持通過環境變量來設置日志級別。

例如,使用winston

const winston = require('winston');

const logger = winston.createLogger({
  level: process.env.LOG_LEVEL || 'info', // 默認日志級別為 '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' })
  ]
});

你可以在啟動應用程序之前設置環境變量:

LOG_LEVEL=debug node app.js

2. 使用配置文件

你也可以使用配置文件來設置日志級別。例如,使用config模塊:

首先,安裝config模塊:

npm install config

然后,創建一個配置文件config/default.json

{
  "logging": {
    "level": "debug"
  }
}

在你的應用程序中使用配置:

const config = require('config');
const winston = require('winston');

const logger = winston.createLogger({
  level: config.get('logging.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' })
  ]
});

3. 直接在代碼中設置

你也可以直接在代碼中設置日志級別:

const winston = require('winston');

const logger = winston.createLogger({
  level: 'debug', // 直接設置日志級別
  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' })
  ]
});

4. 使用PM2管理Node.js應用

如果你使用PM2來管理Node.js應用,可以通過PM2的配置文件來設置日志級別。

創建一個ecosystem.config.js文件:

module.exports = {
  apps: [{
    name: 'my-app',
    script: 'app.js',
    env: {
      NODE_ENV: 'development',
      LOG_LEVEL: 'debug'
    },
    env_production: {
      NODE_ENV: 'production',
      LOG_LEVEL: 'info'
    }
  }]
};

然后使用PM2啟動應用:

pm2 start ecosystem.config.js --env production

通過這些方法,你可以在Debian系統中靈活地設置Node.js應用程序的日志級別。

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