gpt4 book ai didi

node.js - 更改不同级别的 bunyan 日志颜色

转载 作者:搜寻专家 更新时间:2023-10-31 22:28:24 25 4
gpt4 key购买 nike

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

enter image description here

这是我们使用的 Bunyan 配置:

const bunyan = require('bunyan');
module.exports = bunyan.createLogger({name: 'cdt-api-server'});

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

这是 Bunyan 自述文件: https://github.com/trentm/node-bunyan

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

我们可以做这样的事情吗?

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'
}
]
});

最佳答案

使用 bunyan 登录时更改控制台输出颜色的一种方法是提供自定义流并将其与 colors 结合使用模块。

下面的示例将输出信息日志为蓝色,错误日志为红色:

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.
*/

关于node.js - 更改不同级别的 bunyan 日志颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45495693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com