在 Node.js 中,可以使用第三方库 winston 或内置的 console 模块来设置日志格式。下面是两种方法的详细说明:
方法一:使用 Winston 库
- 首先,确保已经安装了 Winston 库。如果没有,请运行以下命令安装:
npm install winston
- 创建一个名为
logger.js的文件,并在其中设置 Winston 日志格式:
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.timestamp() 用于添加时间戳,winston.format.printf 用于自定义日志输出格式。
- 在你的应用程序中使用
logger.js文件:
const logger = require('./logger');
logger.info('Hello, world!');
logger.error('An error occurred');
方法二:使用内置的 console 模块
在 Node.js 中,可以使用内置的 console 模块来记录日志。虽然它没有提供像 Winston 那样的格式化选项,但可以通过自定义函数来实现简单的格式化。
- 创建一个名为
logger.js的文件,并在其中设置自定义日志格式:
function log(level, message) {
const timestamp = new Date().toISOString();
console.log(`[${timestamp}] ${level.toUpperCase()}: ${message}`);
}
module.exports = { log };
- 在你的应用程序中使用
logger.js文件:
const { log } = require('./logger');
log('info', 'Hello, world!');
log('error', 'An error occurred');
这个例子中的 log 函数接受两个参数:日志级别(如 “info” 或 “error”)和日志消息。它会在控制台输出带有时间戳和日志级别的格式化消息。
这两种方法都可以帮助你设置 Node.js 日志格式。你可以根据自己的需求选择合适的方法。
以上就是关于“如何设置Node.js日志格式”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm