在 Node.js 中,可以使用内置的 console 模块来记录日志。console 模块提供了不同级别的日志方法,如 console.log()、console.warn()、console.error() 等。默认情况下,Node.js 只显示 console.error() 和 console.warn() 的输出,而 console.log() 和 console.info() 的输出会被忽略。
要设置 Node.js 的日志级别,可以使用第三方库,如 winston 或 bunyan。这些库提供了更丰富的日志功能,包括日志级别、日志格式化和日志输出等。
以下是使用 winston 库设置日志级别的示例:
- 首先,安装
winston库:
npm install winston
- 创建一个名为
logger.js的文件,并添加以下代码:
const winston = require('winston');
const logger = winston.createLogger({
level: 'info', // 设置日志级别为 '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;
在这个示例中,我们设置了日志级别为 info,这意味着所有级别为 info 及以上的日志都会被记录。我们还定义了日志格式和传输方式,包括控制台输出和两个文件输出。
- 在你的应用程序中使用
logger:
const logger = require('./logger');
logger.info('This is an info message');
logger.warn('This is a warning message');
logger.error('This is an error message');
现在,只有级别为 info 及以上的日志会被记录。你可以根据需要调整日志级别。例如,将日志级别设置为 error,则只会记录错误日志:
const logger = require('./logger');
logger.level = 'error';
更多关于 winston 的信息和配置选项,请参考官方文档:https://github.com/winstonjs/winston。
以上就是关于“如何设置Node.js日志级别”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm