Mongo Shell-コンソール/デバッグログ


147

おそらくばかげた質問です。Mongoシェルの実験。

私は次のようなことをしたいです:

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

つまり、Mongoシェル内からJS関数を評価するときに、コンソールに出力するにはどうすればよいですか。私はいくつかの素敵な情報を出力したいいくつかの管理者/作成スクリプトを意図しています。

私はconsole.log、debug.logを試し、明らかなものをログに記録しました。

回答:


281

私は答えを見つけました、それは単にです print

print("sweetnesss");

93
printjson(thing)は、オブジェクトを処理するときにもう少し便利です
RobKohr

2

私は通常、シェルと対話するときにスクリプトを使用するので、基本的なLoggingオブジェクトをシェルに「ロード(スクリプト)」し、Loggingオブジェクトを使用してロギングレベル(デバッグ、情報、警告、エラー)を呼び出します。Loggerオブジェクトは、コアで「print」と「printjson」を使用します。また、基本的なsprintf、パディング、レコードのフォーマットなども含まれています。mongodbで大量のスクリプトを処理する場合は、この方法をお勧めします。mongodbスクリプトのデバッグは、printステートメントを使用したプログラミングとデバッグの概要に戻ったような感じです。設定可能なロギングはこれを少し良くしますが、コードをステップ実行することが本当にできないのです。


印刷デバッグに関するコメントの+1、これ以上同意できませんでした。ログコードをGitHubまたはどこかで共有していますか?私はそれを自分で行うことを考えていましたが、まだ共有するコードが多くありません。私はgithub.com/rsdoiel/mongo-modulesをforkしましたが、まだ何も追加していません。
マークエディントン2013年

これを掘り下げてみます。
gbegley 2013年

gbegley:すばらしい、私にとって役立つものに見えます。これをmongodbコミュニティに提供する時間を割いていただき、ありがとうございます。
マークエディントン2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.