Daher kann in kritischen Umgebungen wie Datenbanken eine Aufzeichnung der auf dem Server ausgeführten Befehle bei der Verfolgung, wo ein Fehler aufgetreten ist, von Vorteil sein, wie ein Fehler aufgetreten ist und wie es zurückgeführt werden soll.
In diesem Artikel lernen wir, wie der MongoDB -Server alle auf dem Server ausgeführten Befehle protokolliert werden kann.
MongoDB Abrufen aktueller Protokollpegel
Wir müssen die Protokollierungsstufe ändern, um die Protokollierung von Abfragen auf dem MongoDB -Server zu aktivieren oder zu deaktivieren. Die Protokollebene definiert, was Informationen sind und wie sie in den Server angemeldet sind.
Es ist gut, den aktuellen Status zu kennen, bevor es das Protokollebene erhöht oder verringert. Auf diese Weise können Sie zu seiner Standardprotokollebene zurückkehren.
In MongoDB können wir die DB verwenden.GetProfilingStatus () -Befehl, um die aktuelle Protokollebene in einer bestimmten Datenbank zu erhalten.
Anmelden Sie sich zunächst in die MongoDB -Hülle an:
$ mongosh
Wechseln Sie in der Datenbank, in der Sie die Protokollebene verwalten möchten, zu der Datenbank, die Sie verwalten möchten. In unserem Beispiel werden wir die "Kino" -Datenbank verwenden:
> Kino verwenden
db.GetprofilingStatus ()
< was: 0, slowms: 100, sampleRate: 1, ok: 1
Der Befehl sollte die aktuelle Protokollebene zurückgeben, die in der WAS -Taste definiert ist. In der obigen Ausgabe können wir beispielsweise sehen, dass die aktuelle Protokollebene der Datenbank auf 0 gesetzt ist.
MongoDB -Protokoll alle Abfragen
Wir müssen das Protokollpegel auf 2 erhöhen, damit MongoDB alle Abfragen in einer bestimmten Datenbank protokollieren kann.
Wir können dies mit der DB erreichen.SetProfilingLevel () Befehl. Die Funktion akzeptiert die Zielebene, die wir als Parameter festlegen möchten.
https: // www.MongoDb.com/docs/Handbuch/Referenz/Methode/DB.setProfilinglevel/
Das Einstellen der Protokollstufe 2 sammelt alle Daten der in der Datenbank ausgeführten Vorgänge und protokolliert sie.
Wir können den Befehl ausführen als:
> db.setProfilinglevel (2)
< was: 0, slowms: 100, sampleRate: 1, ok: 1
Der Befehl gibt Informationen als:
Schließlich können wir die neue Protokollebene mit dem Befehl getProfilingStatus () wie gezeigt bestätigen:
> db.GetprofilingStatus ()
< was: 2, slowms: 100, sampleRate: 1, ok: 1
Hier können wir sehen, dass die aktuelle Protokollebene auf 2 gesetzt ist.
Nach der Aktualisierung können Sie die MongoDB -Protokolldatei auf die erstellten Einträge überprüfen. MongoDB überprüfen.log oder mongod.Protokoll.
Abschluss
In diesem Beitrag haben Sie gelernt, wie man die aktuelle Protokollebene einer MongoDB -Datenbank anzeigt. Sie haben auch gelernt, wie man den Befehl setProfilinglevel verwendet, um die aktuelle Protokollebene einer bestimmten Datenbank zu ändern. Wenn Sie beispielsweise die Protokollebene auf 2 festlegen, kann MongoDB alle Vorgänge in der Datenbank protokollieren.