Javascript winston logger未序列化mongodb.ObjectID
我希望最终不再使用console.log作为日志系统,而是一直在研究winston和bunyan。我对winston有点偏爱,因为现在我希望在longentries中有人类可读的日志,而bunyan对所有额外字段都有点太健谈了 winston很棒,只是它没有正确序列化mongo数据库ID 如果我这样做:Javascript winston logger未序列化mongodb.ObjectID,javascript,node.js,mongodb,mongoose,winston,Javascript,Node.js,Mongodb,Mongoose,Winston,我希望最终不再使用console.log作为日志系统,而是一直在研究winston和bunyan。我对winston有点偏爱,因为现在我希望在longentries中有人类可读的日志,而bunyan对所有额外字段都有点太健谈了 winston很棒,只是它没有正确序列化mongo数据库ID 如果我这样做: var ObjectId = require('mongodb').ObjectID; var winston = require('winston'); winston.info(new Ob
var ObjectId = require('mongodb').ObjectID;
var winston = require('winston');
winston.info(new ObjectId());
这就是写入标准输出的内容:
信息:_bsontype=ObjectID,id=Tø½þjÍrßgK
有时我只想将整个mongoose文档转储到日志中。我不想对所有对象ID调用.toString()
在winston中,有人能够解决这个问题吗?您正在寻找的很可能是一个格式说明符 您可以这样做:
var ObjectId = require('mongodb').ObjectID;
var winston = require('winston');
winston.info(new ObjectId());
winston.info(“%j”,新ObjectId())代码>
您可以在此处阅读有关格式说明符的内容您正在寻找的很可能是格式说明符
您可以这样做:
var ObjectId = require('mongodb').ObjectID;
var winston = require('winston');
winston.info(new ObjectId());
winston.info(“%j”,新ObjectId())代码>
您可以在这里阅读有关格式说明符的内容最后,我将winston日志记录方法包装在一个函数中,该函数仅将节点格式实用程序与默认格式应用于所有参数。到目前为止,他一直在努力:
var util = require('util');
var winston = require('winston');
var fixWinstonParams = function (fn) {
return function () {
for (var i = 0; i < arguments.length; i++) {
arguments[i] = util.format( arguments[i]);
}
return fn.apply(this, arguments);
};
};
['info', 'error', 'debug', 'warn'].map(function(each){
winston[each] = fixWinstonParams( winston[each])
});
var util=require('util');
var winston=require('winston');
var FIXWINSTONSPARAMS=函数(fn){
返回函数(){
for(var i=0;i
最后,我将winston日志记录方法包装在一个函数中,该函数只将默认格式的node format实用程序应用于所有参数。到目前为止,他一直在努力:
var util = require('util');
var winston = require('winston');
var fixWinstonParams = function (fn) {
return function () {
for (var i = 0; i < arguments.length; i++) {
arguments[i] = util.format( arguments[i]);
}
return fn.apply(this, arguments);
};
};
['info', 'error', 'debug', 'warn'].map(function(each){
winston[each] = fixWinstonParams( winston[each])
});
var util=require('util');
var winston=require('winston');
var FIXWINSTONSPARAMS=函数(fn){
返回函数(){
for(var i=0;i