ubuntu

如何定制Ubuntu Node.js日志输出模板

小樊
43
2025-08-21 03:33:50
栏目: 编程语言

要定制 Ubuntu 上的 Node.js 应用程序的日志输出模板,您可以使用一些流行的日志库,例如 winstonmorgan。这些库允许您自定义日志格式和输出。下面是一个使用 winston 的示例:

  1. 首先,确保您已经安装了 Node.js 和 npm。如果没有,请访问 https://nodejs.org/ 下载并安装。

  2. 在项目文件夹中运行以下命令,以创建一个新的 Node.js 项目(如果尚未创建):

mkdir my-nodejs-app
cd my-nodejs-app
npm init -y
  1. 安装 winston
npm install winston
  1. 创建一个名为 logger.js 的文件,并添加以下内容:
const winston = require('winston');

const logger = winston.createLogger({
  level: 'info',
  format: winston.format.combine(
    winston.format.timestamp(),
    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' }),
  ],
});

if (process.env.NODE_ENV !== 'production') {
  logger.add(new winston.transports.Console({
    format: winston.format.simple(),
  }));
}

module.exports = logger;

在这个示例中,我们使用 winston.format.printf 自定义日志输出模板。您可以根据需要修改模板。

  1. 在您的 Node.js 应用程序中使用 logger
const logger = require('./logger');

logger.info('Hello, world!');
logger.error('An error occurred');

现在,当您运行应用程序时,日志将按照自定义模板输出到控制台和日志文件中。

您可以根据需要调整 winston.createLogger 配置中的 formattransports 选项,以满足您的需求。更多关于 winston 的信息和配置选项,请参阅官方文档:https://github.com/winstonjs/winston

0
看了该问题的人还看了