Mongo Shell - Konsol / Hata Ayıklama Günlüğü


147

Muhtemelen aptalca bir soru. Mongo kabuğu ile deneme.

Gibi bir şey yapmak istiyorum:

matt@linuxvm:~/mongodb-linux-i686-1.2.3/bin$ ./mongo
MongoDB shell version: 1.2.3
url: test
connecting to: test
Thu Feb 25 20:57:47 connection accepted from 127.0.0.1:37987 #3
type "help" for help
> function test() { debug.log("hello") }
> test()
Thu Feb 25 20:58:06 JS Error: ReferenceError: debug is not defined (shell):0

Başka bir deyişle, JS işlevlerini Mongo kabuğundan değerlendirirken konsola nasıl çıktı verebilirim. Bazı güzel bilgiler çıktı istiyorum bazı yönetici / nüfuslu komut dosyası niyetinde.

Console.log, debug.log denedim, açık olanları günlüğe kaydet ..

Yanıtlar:


282

Cevabı buldum, sadece print

print("sweetnesss");

93
printjson (thing) nesnelerle uğraşırken biraz daha kullanışlıdır
RobKohr

2

Kabuk ile etkileşime girdiğinde genellikle komut dosyaları kullanırım, bu yüzden kabuğa "yüklediğim (komut dosyası)" temel bir Günlük nesnesi yazdım ve daha sonra günlükleme düzeylerini (hata ayıklama, bilgi, uyar, hata) çağırmak için Logging nesnesini kullandım. Logger nesnesi çekirdeğinde 'print' ve 'printjson' kullanır. Ayrıca, temel bir sprintf, dolgu, kayıt biçimlendirme, vb içerir. Eğer mongodb ile önemli miktarda komut çalışması yapacaksanız, bu yolu tavsiye ederim. Mongodb betiklerinde hata ayıklama, baskı deyimleriyle programlama ve hata ayıklamaya tekrar giriş yapmak gibi bir duygudur. Yapılandırılabilir günlük kaydı bunu biraz daha iyi yapar, ancak kodda adım atmayı gerçekten özledim.


Baskı hata ayıklama hakkındaki yorum için +1, daha fazla anlaşamadık. Günlük kodunuzu GitHub'da veya başka bir yerde mi paylaşıyorsunuz? Bunu kendim yapmayı düşünüyordum, ancak henüz paylaşacak çok kodum yok. Ben çatallı github.com/rsdoiel/mongo-modules ama henüz bir şey eklememiş.
Mark Edington

Bunu kazmaya çalışacağım.
gbegley

gbegley: Mükemmel, benim için yararlı olacak bir şeye benziyor. Mongodb topluluğuna bunu sağlamak için zaman ayırdığınız için teşekkür ederiz.
Mark Edington
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.