溫馨提示×

Debian中Node.js日志級別設置

小樊
62
2025-02-21 16:07:52
欄目: 編程語言

在Debian系統中,Node.js應用程序的日志級別通常是通過應用程序本身的配置來設置的,而不是通過系統級的配置。Node.js應用程序通常使用第三方日志庫,如winston、bunyanmorgan等,來處理日志記錄和日志級別設置。

以下是一些常見的Node.js日志庫及其日志級別設置的示例:

Winston

Winston是一個流行的日志庫,支持多種傳輸方式和日志級別。

const winston = require('winston');

const logger = winston.createLogger({
  level: 'info', // 設置日志級別為info
  format: winston.format.json(),
  transports: [
    new winston.transports.File({ filename: 'error.log', level: 'error' }),
    new winston.transports.File({ filename: 'combined.log' }),
  ],
});

// 如果不在生產環境中,可以添加控制臺傳輸
if (process.env.NODE_ENV !== 'production') {
  logger.add(new winston.transports.Console({
    format: winston.format.simple(),
  }));
}

Bunyan

Bunyan是另一個流行的日志庫,以其簡潔的JSON格式和易于使用的API而聞名。

const bunyan = require('bunyan');

const logger = bunyan.createLogger({
  name: 'myApp',
  streams: [
    {
      level: 'info', // 設置日志級別為info
      stream: process.stdout,
    },
    {
      level: 'error',
      path: 'error.log',
    },
  ],
});

Morgan

Morgan是一個HTTP請求記錄中間件,通常用于Express應用程序。

const express = require('express');
const morgan = require('morgan');

const app = express();

// 設置日志級別為combined
app.use(morgan('combined'));

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

設置環境變量

在某些情況下,你可能希望通過環境變量來設置日志級別。例如,使用winston時:

const winston = require('winston');

const logger = winston.createLogger({
  level: process.env.LOG_LEVEL || 'info', // 從環境變量中讀取日志級別,默認為info
  format: winston.format.json(),
  transports: [
    new winston.transports.File({ filename: 'error.log', level: 'error' }),
    new winston.transports.File({ filename: 'combined.log' }),
  ],
});

然后,你可以在啟動應用程序時設置環境變量:

LOG_LEVEL=debug node app.js

通過這種方式,你可以在不同的環境中靈活地設置日志級別。

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