我使用winston模块在Node.js中创建了一个记录器,并通过以下选项要求winston-mongodb模块添加了MongoDB传输:
{
db: config.db[k.DB_ENV.AUTHOR],
username: config.dbUser,
password: config.dbPassword,
collection: 'log-aggregation',
storeHost: true,
capped: true,
cappedMax: 10 // documents
}
我希望记录器为每10个文档创建一个新集合。但记录器继续登录相同集合。我对collection: 'log-aggregation'
行进行了评论,以检查选项是否真的有效,然后开始记录到默认的'log'
集合。
那我的错误在哪里? cappedMax
选项是否至少没有文档大小?我尝试使用cappedSize
选项以及10到1000个值,但仍然没有创建新的集合。
我想知道cappedSize和cappedMax选项的最小和最大允许值?
我也想知道创建新馆藏的名称是什么?
答案 0 :(得分:1)
这是我用来获取多个日志的内容:
var winston = require('winston');
require('winston-mongodb').MongoDB;
winston.loggers.add('userLog',{
transports : [
new(winston.transports.MongoDB)({
db : 'mongodb://username:password.mongolab.com:5555/log_db',
collection : 'userLog',
capped : true
}),
]
});
winston.loggers.add('profileLog',{
transports : [
new(winston.transports.MongoDB)({
db : 'mongodb://username:password.mongolab.com:5555/log_db', collection : 'profileLog',
capped : true
}),
]
});
它工作正常,没有可观察到的延迟。
P.S。您可以在capped:true
玩得开心!