Node.js日志级别在Ubuntu如何设置

936
2025/4/3 3:31:56
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Node.js中,可以使用第三方库winston或内置的console模块来记录日志。这里我将分别介绍这两种方法的日志级别设置。

方法1:使用winston库

  1. 首先,确保已经安装了winston库。如果没有,请运行以下命令安装:
npm install winston
  1. 创建一个名为logger.js的文件,并添加以下内容:
const winston = require('winston');

const logger = winston.createLogger({
  level: 'info', // 设置日志级别
  format: winston.format.json(),
  transports: [
    new winston.transports.File({ filename: 'error.log', level: 'error' }), // 只记录错误日志
    new winston.transports.File({ filename: 'combined.log' }), // 记录所有级别的日志
  ],
});

if (process.env.NODE_ENV !== 'production') {
  logger.add(new winston.transports.Console({
    format: winston.format.simple(),
  }));
}

module.exports = logger;

在这个例子中,我们设置了日志级别为info。你可以将其更改为errorwarninfoverbosedebugsilly,以记录不同级别的日志。

  1. 在你的Node.js应用程序中,使用logger模块记录日志:
const logger = require('./logger');

logger.debug('This is a debug message');
logger.info('This is an info message');
logger.warn('This is a warning message');
logger.error('This is an error message');

方法2:使用内置的console模块

在Node.js中,可以使用内置的console模块记录日志。console模块有以下几种日志级别:loginfowarnerrordebug。默认情况下,所有级别的日志都会被记录。

要设置日志级别,可以使用第三方库console-log-level。首先,安装这个库:

npm install console-log-level

然后,在你的Node.js应用程序中,使用console-log-level设置日志级别:

const logLevel = require('console-log-level');
logLevel.setLevel('info'); // 设置日志级别为info

console.log('This is a log message'); // 不会显示,因为日志级别设置为info
console.info('This is an info message'); // 显示
console.warn('This is a warning message'); // 显示
console.error('This is an error message'); // 显示

在Ubuntu系统中,你还可以通过修改环境变量来设置日志级别。例如,在启动Node.js应用程序之前,可以设置NODE_LOG_LEVEL环境变量:

export NODE_LOG_LEVEL=info
node app.js

这将设置Node.js应用程序的日志级别为info。你可以将其更改为errorwarnlogdebug或其他有效的日志级别。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: ubuntu qbittorrent如何导入种子