Golang -Protokoll zur Datei

Golang -Protokoll zur Datei
Die Protokollierung ist eines der wichtigsten Werkzeuge für einen Entwickler. Es ermöglicht die Überwachung einer Anwendung auf Fehler, Leistungsprobleme, Nutzungsverfolgung und vieles mehr. Daher ist das Lernen, Protokolle für Ihre Anwendung zu erstellen.

Mit diesem Handbuch stellen wir Sie in das Protokollpaket in der Go -Standardbibliothek vor und erstellen Sie benutzerdefinierte Protokolle.

Golang -Protokollpaket

Die Go-Standardbibliothek ist massiv, glauben Sie mir, sie verfügt über eine Sammlung von Tools, Versorgungsunternehmen und Paketen für fast wichtige Aspekte eines Programmierers.

Ein solches Paket ist das Protokollpaket. Es ist mit allem ausgestattet, was Sie benötigen, um Protokollierungsfunktionen für Ihre GO -Programme zu implementieren. Dies beinhaltet verschiedene Protokollierungsstufen wie Debugg, Warnung, Fehler, Info usw.

Die grundlegendste Methode im Protokollpaket ist die Println -Methode. Wie die Println -Methode aus dem FMT -Paket können Sie eine grundlegende Protokollnachricht erstellen.

Ein Beispiel -Quellcode ist wie unten gezeigt:

Paket Main
"Protokoll" importieren "
func main ()
Protokoll.Println ("Hallo, da!"))

Wenn wir den obigen Code ausführen, sollten wir wie gezeigt sehen und ausgeben:

2022/01/27 21:29:35 Hallo, da!

Beachten Sie etwas anderes in der zur Konsole gedruckten Nachricht?

Die println -Methode aus dem Protokollpaket enthält einen Zeitstempel, wenn die Protokollnachricht erstellt wurde. Wenn Sie die Protokolle für eine Protokollierungsanwendung einnehmen, ist der Zeitstempel für die Filterprotokolle von großer Bedeutung.

Denken Sie daran, dass das Protokollpaket die Nachricht an den Stderr -Stream druckt. Sie können es auch konfigurieren, um in eine Datei zu schreiben, wie wir im nächsten Abschnitt behandelt werden.

Golang -Protokoll zur Datei

Um sich bei einer Datei anzumelden, können Sie das Betriebssystempaket verwenden, um eine Protokolldatei zu erstellen, wenn es nicht vorhanden ist, oder öffnen und in eine vorhandene Datei schreiben. Wenn Sie dies tun.

Denken Sie daran, dass das Protokollpaket auch ein anderes Ausgabestell unterstützt, das IO unterstützt.Schriftstellerschnittstelle.

Ein Beispielcode zum Anmelden bei einer Datei wird wie im folgenden Snippet gezeigt:

Paket Main
importieren (
"Protokoll"
"OS"
"Zeit"
)
func main ()
// Datei öffnen und falls nicht existent erstellen
Datei, ERR: = OS.OpenFile ("Custom.Protokoll ", Betriebssystem.O_append | os.O_create | os.O_wronly, 0644)
Wenn er irrt != nil
Protokoll.Tödlich (arr)

Datei verschieben.Schließen()
Logger: = Protokoll.Neu (Datei, "benutzerdefiniertes Protokoll", Protokoll.Lstdflags)
Logger.Println ("Ich bin eine neue Protokollnachricht")
Zeit.Schlaf (5 * Zeit.Zweite)
Logger.Println ("Ein neues Protokoll, 5 Sekunden später")

Im obigen Beispiel beginnen wir zunächst eine Datei, die als Protokollausgabe verwendet werden soll. Wir schließen die Flags ein, die in die Datei schreiben und sie erstellen können, wenn es nicht vorhanden ist.

Wir prüfen dann, ob beim Lesen/Schreiben in die Datei ein Fehler vorliegt. Wenn ein Fehler auftritt, protokollieren wir den Fehler mit LOG mit Log.Tödlich.

Das Protokoll.Fatal () -Methode ähnelt der Print () -Methode, enthält jedoch einen Aufruf zum Betriebssystem.Beenden () mit einem Statuscode von 1.

Der nächste Schritt besteht darin, die Datei zu schließen. Wir setzen die Set Close -Funktion so ein, dass die Funktion nach Abschluss der Hauptfunktion ausgeführt werden kann.

Der nächste Schritt besteht darin, einen neuen Protokoller zu erstellen, der in die Datei schreibt. Das Protokoll.Die Logger -Funktion nimmt 3 Hauptargumente an:

  1. Die Protokollausgabe ist in diesem Fall die Protokolldatei.
  2. Das Präfix, das an den Beginn jedes Eintrags in der Protokolldatei angehängt ist.
  3. Schließlich ist die Protokollkonstante nach dem Textpräfix für jede Protokollzeile.

Im Folgenden sind unterstützte Holzkonstanten:

  1. Ldate
  2. Zeit
  3. Lmicrosekunden
  4. Llongfile
  5. Lshortfile
  6. LUTC
  7. Lmsgprefix
  8. Lstdflags

Betrachten Sie die unten stehende Dokumentationsressource, um mehr zu erfahren.

https: // pkg.gehen.Dev/Log#PKG-Konstanten

In unserem obigen Beispiel haben wir auch 5 Sekunden lang eine Schlafzeit festgelegt. Wenn wir den obigen Code ausführen, sollten wir wie unten gezeigt eine Ausgabe erhalten:

$ cat Custom.Protokoll
Benutzerdefinierte log2022/01/27 21:40:25 Ich bin eine neue Protokollnachricht
Benutzerdefinierte LOG2022/01/27 21:40:30 Ein neues Protokoll, 5 Sekunden später

Der Zeitstempel zwischen dem ersten Protokolleintrag und dem zweiten Protokolleintrag liegt 5 Sekunden voneinander entfernt. Dies liegt an der Schlaffunktion im obigen Code.

Abschluss

In diesem Beitrag wird das Konzept des Erstellens und Erstellens von Holzfällern für Ihre Bewerbung in Go untersucht. Mit diesem Handbuch können Sie das GO -Protokollpaket verwenden und erweiterte Protokollierungsmechanismen für Ihre Anwendungen erstellen.

Danke fürs Lesen!