You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用pino日志库将打印的USERLVL日志等级名修改为QUERY

问题原因

pino的格式化模块默认不会自动读取根配置中的customLevels做等级名称映射,识别不到35等级对应的自定义名称时,就会输出默认的USERLVL标识。

解决方案

你需要把自定义等级同步配置到格式化器的参数中:

如果你使用的是pino v7及更早版本

修改后的代码如下:

const logger = pino({
  customLevels: {
    query: 35
  },
  prettyPrint: {
    translateTime: true,
    // 新增和根配置一致的自定义等级映射
    customLevels: {
      query: 35
    }
  }
});
logger.query('hi');

如果你使用的是pino v8及以上版本

prettyPrint配置已废弃,需要改用transport配置,写法如下:

const logger = pino({
  customLevels: {
    query: 35
  },
  transport: {
    target: 'pino-pretty',
    options: {
      translateTime: true,
      customLevels: {
        query: 35
      },
      // 如果需要等级名显示全大写,新增以下配置
      formatters: {
        level: (label) => {
          return { level: label.toUpperCase() }
        }
      }
    }
  }
});

修改完成后再次调用logger.query('hi'),输出内容就会显示QUERY标识替换原来的USERLVL。


内容的提问来源于stack exchange,提问作者user12562761

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 01:24:03