cappedMax在Ubuntu上的Node.js中的winston-mongodb logger中不起作用

时间:2015-12-29 13:13:26

标签: javascript node.js mongodb logging winston

我使用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选项的最小和最大允许值?

我也想知道创建新馆藏的名称是什么?

1 个答案:

答案 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

之后或之前添加所需的所有选项

玩得开心!