bunyan 中的常规(原始)日志如下所示:
$ node myapp.js
{"name":"myapp","hostname":"myhost","pid":34572,"level":30,"msg":"start","time":"2013-01-04T07:47:25.814Z","v":0}
{"name":"myapp","hostname":"myhost","pid":34572,"widget_type":"wuzzle","level":30,"msg":"creating a wuzzle","time":"2013-01-04T07:47:25.815Z","v":0}
可以使用“短”输出模式,使用 CLI,通过管道将日志传输到 bunyan -o short
$ node myapp.js | bunyan -o short
07:46:42.707Z INFO myapp: start
07:46:42.709Z INFO myapp: creating a wuzzle (widget_type=wuzzle)
是否可以默认使用“短”模式,以便 node myapp.js
将生成短版本的日志?
最佳答案
您可以将自定义原始流传递给 bunyan 并编写您自己的 pretty-print :
var Logger = require('bunyan')
, Stream = require('stream')
var stream = new Stream()
stream.writable = true
stream.write = function(obj) {
// pretty-printing your message
console.log(obj.msg)
}
var logger = new Logger({
name: 'foo',
streams: [{
type: "raw",
stream: stream,
}],
serializers: {
err: Logger.stdSerializers.err,
req: Logger.stdSerializers.req,
res: Logger.stdSerializers.res,
},
})
// -------------------------------
logger.info('hello world')
可以看看this file这正是对 pretty-print 的工作所有消息。
关于node.js - bunyan默认如何设置 'short'输出模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20880062/