商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 如何设置 Debian Node.js 日志级别

如何设置 Debian Node.js 日志级别

  发布于2026-07-14 阅读(0)

扫一扫,手机访问

说起来,调整 Debian 上 Node.js 应用的日志级别,这事儿其实没那么玄乎。你只需要在代码里找到日志库,改个配置,然后重启一下就能搞定。下面咱们一步步拆开看。

如何设置 Debian Node.js 日志级别

第一步,打开你的 Node.js 应用代码。第二步,确定你正在用哪个日志库。

怎么判断?最直接的办法就是翻翻 package.json 里的依赖项。常见的选手有 WinstonBunyanMorgan。如果你用的是其他库,也别慌,原理相通——找到对应的 API 文档就行。

第三步,针对不同库,设置日志级别的方法略有差异,但本质都是给 logger 对象指定一个 level 属性。下面分别看看几个主流库的写法:

  • Winston

    在 Winston 里,设置日志级别就是调整 level 字段。比如你想把级别定位到 info,可以这样写:

    const winston = require('winston');
    const logger = winston.createLogger({
      level: 'info',
      format: winston.format.json(),
      transports: [
        new winston.transports.Console(),
        new winston.transports.File({ filename: 'error.log', level: 'error' }),
        new winston.transports.File({ filename: 'combined.log' }),
      ],
    });
  • Bunyan

    Bunyan 的配置方式稍微不同,它通过 streams 数组里的 level 字段来控制。同样以 info 级别为例:

    const bunyan = require('bunyan');
    const logger = bunyan.createLogger({
      name: 'myApp',
      streams: [
        { level: 'info', stream: process.stdout },
        { level: 'error', path: 'error.log' },
        { level: 'info', path: 'combined.log' },
      ],
    });
  • Morgan

    Morgan 比较特殊,它本身是 HTTP 请求日志中间件,没有直接设置日志级别的概念。但你可以通过自定义格式化或中间件来过滤——比如只记录 POST 请求:

    const express = require('express');
    const morgan = require('morgan');
    const app = express();
    app.use(morgan('combined', {
      stream: {
        write: (message) => {
          if (message.indexOf('POST') !== -1) console.log(message);
        },
      },
    }));

最后一步,保存修改,重启你的 Node.js 应用。新的日志级别就会生效了。

顺便提一句,不同日志库的级别命名规则可能略有差异(比如 debuginfowarnerror 等),但套路都一样。如果你用的是别的库,查一下它的文档,找到对应的配置项,操作起来不会差太多。

本文转载于:https://www.yisu.com/ask/1492559.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注