我想最终放弃 console.log 作为日志系统,并且一直在研究 Winston 和 Bunyan。我对 winston 有一点偏好,因为现在我想要人类可读的长条目日志,而 Bunyan 对所有额外的字段有点太啰嗦了。
winston 很棒,只是它不能正确序列化 mongo 数据库 ID。
如果我做这样的事情:
var ObjectId = require('mongodb').ObjectID;
var winston = require('winston');
winston.info(new ObjectId());
这是写入标准输出的内容:
info: _bsontype=ObjectID, id=Tø½þjÍrßgK
有时我只想将整个 Mongoose 文档转储到日志中。我不想对所有对象 ID 调用 .toString()?
有人能够解决 winston 的这个有问题的场景吗?
最佳答案
您正在寻找的很可能是格式说明符。
你可以这样做:
winston.info('%j', new ObjectId());
您可以在此处阅读有关格式说明符的信息 http://nodejs.org/api/util.html#util_util_format_format
关于javascript - winston 记录器未序列化 mongodb.ObjectID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28887304/