溫馨提示×

Node.js日志格式怎么自定義

小樊
38
2025-09-11 13:19:27
欄目: 編程語言

在 Node.js 中,可以使用第三方庫如 winstonmorgan 來自定義日志格式。下面是使用這兩個庫的示例:

  1. 使用 winston 庫自定義日志格式:

首先,安裝 winston

npm install winston

然后,創建一個 logger.js 文件,并添加以下代碼:

const { createLogger, format, transports } = require('winston');

const myFormat = format.combine(
  format.timestamp(),
  format.printf(({ timestamp, level, message }) => {
    return `[${timestamp}] ${level.toUpperCase()}: ${message}`;
  })
);

const logger = createLogger({
  level: 'info',
  format: myFormat,
  transports: [
    new transports.Console(),
    new transports.File({ filename: 'logs/app.log' })
  ]
});

module.exports = logger;

在這個例子中,我們定義了一個名為 myFormat 的自定義格式,它包含時間戳、日志級別和消息。然后,我們將這個格式傳遞給 createLogger 函數。

現在,你可以在你的應用程序中使用這個自定義日志記錄器:

const logger = require('./logger');

logger.info('Hello, world!');
  1. 使用 morgan 庫自定義日志格式:

首先,安裝 morgan

npm install morgan

然后,在你的應用程序中使用 morgan

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

const app = express();

const myFormat = ':method :url :status :res[content-length] - :response-time ms - :message';

app.use(morgan(myFormat));

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

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

在這個例子中,我們定義了一個名為 myFormat 的自定義格式,它包含請求方法、URL、狀態碼、響應內容長度、響應時間和消息。然后,我們將這個格式傳遞給 morgan 中間件。

現在,當你訪問應用程序時,日志將按照自定義格式顯示。

這兩個示例展示了如何在 Node.js 中使用第三方庫自定義日志格式。你可以根據自己的需求調整格式和選項。

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