在 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(),
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 方法。最后,我们将这个自定义格式应用到 winston.createLogger 的 format 选项中。
- 使用
morgan库自定义日志格式:
首先,安装 morgan:
npm install morgan
然后,在你的主应用文件(例如 app.js)中添加以下代码:
const express = require('express');
const morgan = require('morgan');
const app = express();
const morganFormat = ':method :url :status :res[content-length] - :response-time ms - :message';
app.use(morgan(morganFormat));
// 其他路由和中间件
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
在这个例子中,我们定义了一个名为 morganFormat 的字符串,其中包含了我们想要的日志格式。然后,我们将这个格式传递给 morgan 函数,并将其作为中间件添加到 Express 应用中。
这两个示例展示了如何在 Node.js 中使用第三方库自定义日志格式。你可以根据自己的需求调整格式字符串以满足你的需求。
以上就是关于“Node.js日志格式如何自定义”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm