温馨提示×

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

小樊
39
2025-10-26 09:23:31
栏目: 编程语言

在Node.js中,可以使用第三方库winstonbunyan来设置日志级别。这里以winston为例,介绍如何在Ubuntu系统中设置日志级别。

  1. 首先,确保已经安装了Node.js。如果没有,请访问Node.js官网下载并安装。

  2. 使用npm安装winston库:

npm install winston
  1. 创建一个名为logger.js的文件,并在其中设置日志级别:
const winston = require('winston');

const logger = winston.createLogger({
  level: 'info', // 设置日志级别,可选值有:error, warn, info, verbose, debug, silly
  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级别及以上的日志才会被记录。我们还定义了两个传输器,一个将错误日志写入error.log文件,另一个将所有级别的日志写入combined.log文件。

  1. 在你的Node.js应用程序中使用logger.js
const logger = require('./logger');

logger.info('This is an info message');
logger.error('This is an error message');
  1. 运行你的Node.js应用程序:
node app.js

现在,你的应用程序将根据设置的日志级别记录日志。在Ubuntu系统中,可以使用tail命令查看日志文件:

tail -f logs/combined.log
tail -f logs/error.log

这样,你就可以在Ubuntu系统中设置Node.js日志级别了。如果需要更改日志级别,只需在logger.js文件中修改level属性即可。

0