ubuntu

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

小樊
45
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
看了该问题的人还看了