2012-12-18 8 views
6

Ben Winston kitaplığı kullanıyorum için Veritabanı mongodb Günlükleri kaydet açılamıyor:Winston-nodejs

var MongoDB = require('winston-mongodb').MongoDB; 
var logger = new (winston.Logger)({ 
transports: [ 
    new (winston.transports.Console)(), 
    new (winston.transports.MongoDB)({ host: ip, db: 'caribcultivate', collection: 'log', level: 'info'}) 
], exceptionHandlers: [ new winston.transports.Console() ] 
}); 
logger.log('info', "Running logs "+ d); 
logger.info("Drive: "+ (new Date(d)).toDateString()); 
: Kullandığım verilerini eklemek için https://github.com/indexzero/winston-mongodb

: ile mongodb veritabanına veri depolamak için çalışılıyor https://github.com/flatiron/winston Ben sorgu verileri kullanılarak çalıştığınızda

Ancak:

winston.query(options, function (err, results) { 
    if (err) {console.log(err);} 
    console.log(results); 
}); 

alıyorum:

{} 

Konsol için doğru şekilde çalışıyor ve veri tabanını Mongoose kütüphanesiyle uygulamanın diğer bölümlerinde kullanıyorum.

+1

Ben aynı sorunu yaşıyorum. MongoHQ'yu temelde yukarıdaki kodla aynı şekilde kullanıyorum. Çalışmak için şansın var mıydı? – abarr

+1

maalesef hayır. Ben bir çekirdek gereksinimi değildi ve bir dosyaya yazmak için bir akış kullandığını düşünerek mongodb olmadan yapıyorlar. İş yükü temizlendiğinde sorunu tekrar gözden geçirmeyi umuyoruz. – kyleED

cevap

3

Benzer bir sorun yaşıyordum. Benim için sorun çıktı, Winston MongoDB taşımacılığının ana bilgisayar seçeneğinin sadece ana bilgisayar adı olmasını beklediğiydi ve ben mongodb:// ile önekliyordum. mongodb://123456.mongolab.com dan mongodb:// çıkardıktan sonra benim için

aşağıdaki çalışır:

var logger = new(winston.Logger)({ 
    transports : [ 
     new(winston.transports.MongoDB)({ 
      db : 'logs', 
      host : '123456.mongolab.com', 
      username : 'username', 
      password : 'password' 
     }) 
    ] 
}); 
+0

Bunu denemeye çalışıyorum. Hedefe ulaşmak için +1 ve temiz bir kod. –

+1

En son winston-mongodb ile artık ev sahibi, port, dbname, vb. Yerine dbUri seçeneğini kullanabilirsiniz. – aarosil

+0

@aarosil, her şeyi eklemek için 'db' parametresini kullanın. db: 'mongodb: // myuser: [email protected]: 54545/MyLogDB' – securecurve