如何在Pino中为对象添加颜色高亮?
如何在Pino中为对象添加颜色高亮?
嘿,我之前也碰到过这个问题!Pino本身支持终端里的对象颜色高亮,但有时候得手动调整配置或者确认环境,下面给你几种可行的解决办法:
使用pino-pretty美化输出(最推荐)
Pino的核心输出是极简的JSON,想要带颜色的格式化输出,得用官方的pino-pretty工具。首先你得先安装它:npm install pino-pretty --save-dev然后在代码里配置transport来启用它,强制开启颜色高亮:
const pino = require('pino'); const logger = pino({ transport: { target: 'pino-pretty', options: { colorize: true, // 强制开启颜色渲染 translateTime: 'YYYY-MM-DD HH:mm:ss', // 可选,自定义时间格式 ignore: 'pid,hostname' // 可选,忽略不需要显示的字段 } } }); logger.info({a: "a"});这样运行代码后,终端里的对象字段就会有不同颜色区分了。
强制在非TTY环境开启颜色
如果你的日志不是直接输出到终端(比如管道输出),Pino默认会关闭颜色。这时候可以通过命令行管道的方式强制开启:node your-app.js | pino-pretty --colorize注意Pino版本的配置变化
如果你用的是Pino v7之前的版本,可能还在使用prettyPrint选项,但这个配置已经被弃用了,建议升级到最新版本并使用transport方式,避免后续出现兼容性问题。
备注:内容来源于stack exchange,提问作者Raghavan Vidhyasagar
相关产品推荐
相关产品推荐

