2013-03-07 9 views
5

jako część mojej konserwacji mongoDB. Uruchomiłem powłokę Mongo i zmusiłem ją do załadowania 2 skryptów. Komenda biegnę wygląda następująco:Otrzymuj wyjście skryptu powłoki Mongo

$MONGO_HOME/bin/mongo --verbose --port 27017 replSetConfig.js initializeReplicaSet.js

Wyjście mam to:

MongoDB shell version: 2.2.3 
Thu Mar 7 03:00:00 versionCmpTest passed 
Thu Mar 7 03:00:00 versionArrayTest passed connecting to: 127.0.0.1:27017/test 
Thu Mar 7 03:00:01 creating new connection to:127.0.0.1:27017 
Thu Mar 7 03:00:01 BackgroundJob starting: ConnectBG 
Thu Mar 7 03:00:01 connected connection! 
loading file: js/replSet.config.js 
loading file: js/initializeReplicaSet.js 

Mam przekierowanie wyjścia do pliku dziennika, ale chciałbym aby zobaczyć także wyjście załadowanych skryptów. To znaczy. wynik, który widzę w powłoce, jeśli ją uruchomię i zadzwonię pod numer load("...") dla tych samych skryptów. Czy istnieje sposób, aby uchwycić wyjście?

Dzięki

+1

Chyba nie dostałem poprawnie pytania. Ale używam 'printjson()' w plikach mongoscript do logowania. –

+0

Wygląda na to, że będę tam, gdzie skończę ... Jest odpowiedni w niektórych sytuacjach, ale nie widzę sposobu, w jaki mogę się zalogować, np. komenda rs.intitate(), którą wywołuję w skrypcie ...? Właśnie to wywołuję w scenariuszu i nie widzę sposobu, aby uzyskać wynik. Mogę logować rs.status() po poleceniu, ale nie wiem, dlaczego to się nie udało (jeśli się nie udało) –

+1

Aby uzyskać wyjście skryptu, musisz podać print() lub printjson(), w przeciwnym razie MongoDB pozostanie cichy. – Sammaye

Odpowiedz

11

Aby dodać wyjście skryptów należy użyć print() lub printjson() oświadczenia inaczej MongoDB pozostanie spokojny o każdym wyjściu skryptu.

+0

Ha, okazało się, że możesz faktycznie zrobić printjson (rs.initiate (config)); na przykład, więc to jest właśnie to, czego szukałem. –

+0

Zaoszczędziłeś wiele bólu! Dzięki! – thermz

Powiązane problemy