本文将指导您如何在 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