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

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

本文将指导您如何在 debian 系统上自定义 Node.JS 应用的日志格式,以 Winston 日志库为例。

步骤一:安装 Winston

首先,请确保已安装 Winston。若未安装,请在项目根目录下执行以下命令:

npm install winston

步骤二:创建自定义日志格式

创建一个名为 logger.js 的文件,并编写以下代码来定义自定义日志格式:

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

此代码片段定义了一个包含时间戳、日志级别和消息的自定义日志格式。 日志输出将同时写入控制台和名为 app.log 的文件(位于 logs 目录下,请确保该目录存在)。

步骤三:在应用中使用自定义日志记录器

在您的主应用程序文件(例如 app.js)中导入并使用自定义日志记录器:

const logger = require('./logger');  logger.info('应用启动成功'); logger.error('发生错误!');

运行应用程序后,日志将按照您自定义的格式输出到控制台和 logs/app.log 文件中。

扩展与补充

Winston 提供丰富的格式化选项和自定义功能,您可以根据需求调整日志格式。 更多信息请参考官方文档:https://www.php.cn/link/df613558c15ae2f7ad53bc2c71e8447b 例如,您可以添加额外的上下文信息到日志中,或者使用不同的日志级别进行更精细的日志管理。 记住创建 logs 目录,否则文件写入会失败。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享