Verwenden der Logger-Bibliothek: Schreiben von Protokollen in Ruby

click fraud protection

Verwenden der Logger-Bibliothek in Rubin ist eine einfache Möglichkeit, den Überblick zu behalten, wenn mit Ihrem Code ein Fehler aufgetreten ist. Wenn etwas schief geht, können Sie Stunden sparen, wenn Sie einen detaillierten Bericht darüber haben, was genau zu dem Fehler geführt hat. Wenn Ihre Programme größer und komplexer werden, möchten Sie möglicherweise eine Möglichkeit zum Schreiben von Protokollnachrichten hinzufügen. Ruby kommt mit einer Reihe von nützlichen Klassen und Bibliotheken, die als Standardbibliothek bezeichnet werden. Dazu gehört die Logger-Bibliothek, die eine priorisierte und gedrehte Protokollierung bietet.

Grundlegende Verwendung

Da die Logger-Bibliothek mit Ruby geliefert wird, müssen keine Edelsteine ​​oder andere Bibliotheken installiert werden. Um die Logger-Bibliothek zu verwenden, einfach benötigen 'logger' und erstellen Sie ein neues Logger-Objekt. Alle in das Logger-Objekt geschriebenen Nachrichten werden in die Protokolldatei geschrieben.

#! / usr / bin / env ruby
erfordern 'Logger'
log = Logger.new ('log.txt')
log.debug "Protokolldatei erstellt"
instagram viewer

Prioritäten

Jede Protokollnachricht hat eine Priorität. Diese Prioritäten erleichtern das Durchsuchen von Protokolldateien nach schwerwiegenden Nachrichten und lassen das Protokollierungsobjekt kleinere Nachrichten automatisch herausfiltern, wenn sie nicht benötigt werden. Sie können sich das wie Ihre Aufgabenliste für diesen Tag vorstellen. Einige Dinge müssen unbedingt erledigt werden, andere sollten wirklich erledigt werden, und einige Dinge können verschoben werden, bis Sie Zeit haben, sie zu erledigen.

Im vorherigen Beispiel war die Priorität debuggen, die am wenigsten wichtige aller Prioritäten (das "Verschieben, bis Sie Zeit haben" Ihrer Aufgabenliste, wenn Sie so wollen). Die Prioritäten der Protokollnachrichten sind in der Reihenfolge vom kleinsten zum wichtigsten wie folgt: Debug, Info, Warnung, Errorund tödlich. Verwenden Sie die Taste, um die Anzahl der Nachrichten festzulegen, die der Logger ignorieren soll Niveau Attribut.

#! / usr / bin / env ruby
erfordern 'Logger'
log = Logger.new ('log.txt')
log.level = Logger:: WARN
log.debug "Dies wird ignoriert"
log.error "Dies wird nicht ignoriert"

Sie können so viele Protokollnachrichten erstellen, wie Sie möchten, und Sie können jede Kleinigkeit Ihres Programms protokollieren, was Prioritäten äußerst nützlich macht. Wenn Sie Ihr Programm ausführen, können Sie die Logger-Ebene auf etwas wie Warnung oder Fehler belassen, um die wichtigen Dinge abzufangen. Wenn dann etwas schief geht, können Sie die Logger-Ebene (entweder im Quellcode oder mit einem Befehlszeilenschalter) senken, um weitere Informationen zu erhalten.

Drehung

Die Logger-Bibliothek unterstützt auch die Protokollrotation. Die Protokollrotation verhindert, dass Protokolle zu groß werden, und hilft beim Durchsuchen älterer Protokolle. Wenn die Protokollrotation aktiviert ist und das Protokoll entweder eine bestimmte Größe oder ein bestimmtes Alter erreicht, benennt die Protokollierungsbibliothek diese Datei um und erstellt eine neue Protokolldatei. Ältere Protokolldateien können auch so konfiguriert werden, dass sie nach einem bestimmten Alter gelöscht werden (oder "aus der Rotation fallen").

Um die Protokollrotation zu aktivieren, übergeben Sie "monatlich", "wöchentlich" oder "täglich" an den Logger-Konstruktor. Optional können Sie eine maximale Dateigröße und Anzahl von Dateien an den Konstruktor übergeben, um die Rotation aufrechtzuerhalten.

#! / usr / bin / env ruby
erfordern 'Logger'
log = Logger.new ('log.txt', 'daily')
log.debug "Sobald das Protokoll mindestens eins wird"
log.debug "Tag alt, es wird umbenannt und ein"
log.debug "Neue log.txt-Datei wird erstellt."
instagram story viewer