溫馨提示×

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

小樊
44
2025-03-18 00:26:28
欄目: 編程語言

在Node.js中,可以使用第三方庫winstonmorgan來自定義日志格式。這里以winston為例,演示如何在Ubuntu上自定義日志格式。

  1. 首先,確保已經安裝了Node.js和npm。如果沒有,請訪問Node.js官網下載并安裝。

  2. 在項目目錄中,使用以下命令安裝winston

npm install winston
  1. 創建一個名為logger.js的文件,并在其中設置自定義日志格式。例如:
const winston = require('winston');

const logger = winston.createLogger({
  level: 'info',
  format: winston.format.combine(
    winston.format.timestamp({
      format: 'YYYY-MM-DD HH:mm:ss'
    }),
    winston.format.printf(({ timestamp, level, message }) => {
      return `[${timestamp}] ${level.toUpperCase()}: ${message}`;
    })
  ),
  transports: [
    new winston.transports.Console(),
    new winston.transports.File({ filename: 'logs/error.log', level: 'error' }),
    new winston.transports.File({ filename: 'logs/combined.log' })
  ]
});

module.exports = logger;

在這個例子中,我們使用了winston.format.combine來組合多個格式化選項。winston.format.timestamp用于添加時間戳,winston.format.printf用于自定義日志輸出格式。

  1. 在你的主要應用文件(如app.js)中,引入并使用自定義的logger
const logger = require('./logger');

logger.info('Hello, world!');
logger.error('An error occurred');
  1. 運行你的Node.js應用:
node app.js

現在,日志將以自定義的格式輸出到控制臺和日志文件中。你可以根據需要調整winston.format.printf中的模板字符串來自定義日志格式。

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