温馨提示×

Node.js日志格式Ubuntu如何自定义

小樊
33
2025-02-27 06:07:15
栏目: 编程语言
前端开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Node.js中,可以使用第三方库winstonmorgan来自定义日志格式。这里以winston为例,介绍如何在Ubuntu系统中自定义日志格式。

  1. 首先,确保已经安装了Node.js和npm。如果没有,请访问Node.js官网下载并安装。

  2. 在项目目录中,使用以下命令安装winston

    npm install winston
    
  3. 创建一个名为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用于自定义日志输出格式。

  4. 在你的主要应用文件(如app.js)中,引入并使用自定义的logger

    const logger = require('./logger');
    
    logger.info('Hello, world!');
    logger.error('An error occurred');
    
  5. 运行你的应用:

    node app.js
    

    你将在控制台和日志文件中看到自定义格式的日志输出。

这只是一个简单的例子,你可以根据需要调整日志级别、格式和传输方式。更多关于winston的信息,请参考官方文档

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:如何自定义Ubuntu Node.js日志格式

0