使用node.js Bunyan与Intellij进行日志logging

我使用bunyan日志logging一个node.js子系统,通常使用intellij IDEA。 我想使用bunyan漂亮的打印机,以便我可以从intellij中获得buynan / json日志的好处。

我找不到任何办法做到这一点,但觉得这一定是可能的。 有没有人想出如何做到这一点?

更新:

下面@ cyue的答案就像一个冠军。 当我没有马上find东西的时候,我最终在一个日志logging类中创build了这样的东西,我用它来包装这个function,并将它用于testing服务器:

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

以上不应该运行在生产代码,但认为它可能是有用的一些…

我在WebStorm中pipe理它,编写一个shell脚本(我的名字是node2bunyan):

 #!/usr/bin/env bash node $@ 2>&1 | bunyan --color exit ${PIPESTATUS[0]} 

并将其添加为运行configuration的节点解释器: 在这里输入图像说明

那么你可以得到: 在这里输入图像说明

PS。 我坚持要得到PyCharm相同,并在search时达到你的问题, 我的问题PyCharm

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

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

你这样configuration:

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