首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Intellij实现node.js Bunyan日志记录

使用Intellij实现node.js Bunyan日志记录
EN

Stack Overflow用户
提问于 2016-03-30 15:15:13
回答 2查看 1.3K关注 0票数 4

我正在为node.js子系统使用bunyan日志记录,并且通常使用intellij。我希望使用布扬的漂亮打印机,这样我就可以在intellij中获得buynan/json日志的好处。

我找不到任何办法去做这件事,但我觉得这是可能的。有人知道怎么做吗?

更新:

下面的@cyue答案就像一个冠军。当我没有立即找到一些东西时,我在日志类中创建了类似这样的东西,用于包装这个功能并将其用于测试服务器:

代码语言:javascript
复制
var bunyan = require('bunyan');
var bunyanFormat = require('bunyan-format');
var standardOut = bunyanFormat({outputMode: 'long', levelInString: true});
var errorOut = bunyanFormat({outputMode: 'bunyan', levelInString: true});
var bunyanLogger = bunyan.createLogger({
    name: 'tot',
    streams: [
        {
            stream: process.stdout ,
            level: 'trace'
        },
        {
            stream: process.stderr ,
            level: 'warn'
        }
    ],
    serializers: {
        req: bunyan.stdSerializers.req,
        res: bunyan.stdSerializers.res,
        err: bunyan.stdSerializers.err,
        error: bunyan.stdSerializers.err
    }
});
eventLogger.on('log', function (log) {
    if (resolveLevel(log.level) >= minimumLogLevel) {
        bunyanLogger[log.level].apply(bunyanLogger, log.arguments);
    }
});

上面的代码不应该在生产代码中运行,但认为它可能对某些人有用.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-02 10:40:34

我在WebStorm中管理它,用以下方式编写一个shell脚本(我的脚本名为node2bunyan):

代码语言:javascript
复制
#!/usr/bin/env bash

node $@ 2>&1 | bunyan --color
exit ${PIPESTATUS[0]}

并将其添加为运行配置的Node解释器:

然后你就可以得到:

PS。我只能在PyCharm上得到同样的信息,并在搜索时找到你的问题,我对PyCharm的问题

票数 7
EN

Stack Overflow用户

发布于 2016-05-09 21:20:11

您可以在JS项目中使用这个库:

https://github.com/mrrama/node-bunyan-prettystream

您可以这样配置它:

代码语言:javascript
复制
var bunyan = require('bunyan');
var PrettyStream = require('bunyan-prettystream');
var prettyStream = new PrettyStream();

prettyStream.pipe(process.stdout);

// Note this is an object with key 'stream' inside array.
// The object is the stream definition as far as Bunyan is concerned.
var streams = [{
   stream: prettyStream
}];

bunyan.createLogger({
   streams: streams,
   serializers: bunyan.stdSerializers
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36312986

复制
相关文章

相似问题

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