首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改不同级别的bunyan日志颜色

更改不同级别的bunyan日志颜色
EN

Stack Overflow用户
提问于 2017-08-04 06:44:40
回答 2查看 2.6K关注 0票数 7

在使用Bunyan时,我的所有日志级别都使用相同的青色,如下所示:

下面是我们使用的Bunyan配置:

代码语言:javascript
复制
const bunyan = require('bunyan');
module.exports = bunyan.createLogger({name: 'cdt-api-server'});

我的问题是-如何让Bunyan使用red或洋红色来记录错误信息/堆栈跟踪?问题是红色字符中的"ERROR“不足以引起我的注意--我希望整个堆栈都是红色或洋红色的。

以下是班尼安自述文件:https://github.com/trentm/node-bunyan

我只看到“颜色”被提到过一次。

我们能做这样的事情吗?

代码语言:javascript
复制
const bunyan = require('bunyan');

module.exports = bunyan.createLogger({
  name: 'cdt-api-server',
  streams: [
    {
      level: 'trace',
      stream: process.stdout,
      color: 'black',
    },
    {
      level: 'debug',
      stream: process.stdout,
      color: 'blue',
    },
    {
      level: 'info',
      stream: process.stdout,
      color: 'cyan',
    },
    {
      level: 'error',
      path: process.stderr,
      color: 'red'
    },
    {
      level: 'warn',
      path: process.stderr,
      color: 'magenta'
    }
  ]
});
EN

回答 2

Stack Overflow用户

发布于 2017-08-15 04:33:44

在使用bunyan进行日志记录时,更改控制台输出颜色的一种方法是提供一个定制流,并将其与colors模块结合使用。

以下示例将以蓝色输出信息日志,而以红色输出错误日志:

代码语言:javascript
复制
var colors = require('colors');
var bunyan = require('bunyan');

function MyRawStream() {}
MyRawStream.prototype.write = function (rec) {
    console.log('[%s] %s: %s',
        rec.time.toISOString(),
        bunyan.nameFromLevel[rec.level],
        rec.msg);
}

var log = bunyan.createLogger({
    name: 'play',
    streams: [
        {
            level: 'info',
            stream: new MyRawStream(),
            type: 'raw'
        }
    ]
});

log.info(colors.blue('This is an info message displayed in blue.'));
log.error(colors.red('This is an error message displayed in red.'));

/* Output:
[2017-08-14T20:32:33.550Z] info: This is an info message displayed in blue.
[2017-08-14T20:32:33.558Z] error: This is an error message displayed in red.
*/
票数 6
EN

Stack Overflow用户

发布于 2017-08-11 19:17:43

您可以检查bunyan-format如何为日志着色,并在您的代码中执行相同的操作,或者只是将其作为模块导入并直接使用。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45495693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档