在 Node.js 中,可以使用第三方库 winston
或 morgan
来自定义日志输出格式。这里以 winston
为例,介绍如何自定义日志输出格式。
winston
:npm install winston
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.printf
方法自定义了日志的输出格式。
const logger = require('./logger');
logger.info('Hello, world!');
logger.error('An error occurred');
运行你的应用程序,你会看到自定义格式的日志输出。
这只是一个简单的例子,winston
提供了许多其他格式化选项,你可以根据需要进行调整。更多关于 winston
的信息和示例,请参考官方文档:https://github.com/winstonjs/winston