Mongo Shell - консоль / журнал налагодження


147

Напевно, німе питання. Експерименти з оболонкою Монго.

Я хочу зробити щось на кшталт:

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

Іншими словами, як я можу вивести на консоль при оцінці функцій JS з оболонки Mongo. Я маю на увазі якийсь сценарій адміністратора / заповнення, який би я хотів вивести трохи відомостей.

Я спробував console.log, debug.log, журнал очевидних.

Відповіді:



2

Зазвичай я використовую сценарії під час взаємодії з оболонкою, тому я написав базовий об'єкт Журналу, який я "завантажую (скрипт)" в оболонку, а потім використовую об'єкт "Журналізація" для виклику рівнів журналу (налагодження, інформація, попередження, помилка). Об'єкт Logger використовує 'print' та 'printjson' у своїй основі. Крім того, він містить основний sprintf, padding, форматування записів тощо. Якщо ви збираєтеся робити якусь значну кількість сценаріїв з mongodb, я рекомендую цей маршрут. Налагодження сценаріїв mongodb схоже на те, що ви повернулися до вступу до програмування та налагодження з операторами друку. Налаштований журнал робить це трохи краще, але я дуже сумую за можливістю перейти через код.


+1 за коментар про налагодження друку, не вдалося погодитись більше. Ви ділитесь кодом реєстрації на GitHub чи десь? Я думав зробити це самостійно, але ще не маю багато коду поділитися. Я роздвоював github.com/rsdoiel/mongo-modules, але ще нічого не додав.
Марк Едінгтон

Я спробую це викопати.
gbegley

gbegley: Відмінно, виглядає як щось, що буде мені корисно. Дякую, що знайшли час, щоб надати це спільноті mongodb.
Марк Едінгтон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.