So melden Sie sich bei golang an

PHPz
Freigeben: 2023-04-23 17:15:57
Original
1067 Leute haben es durchsucht

Golang ist eine effiziente Programmiersprache, die anderen Sprachen in vielen Aspekten überlegen ist. Die Protokollierung ist eine wichtige Aufgabe, wenn es darum geht, das Verhalten Ihrer Anwendung aufzuzeichnen. In Golang ist die Protokollierung für das Debuggen und Testen von Anwendungen von entscheidender Bedeutung.

In diesem Artikel wird die Methode zum Anmelden in Golang vorgestellt. Wir werden Logger in der Standardbibliothek sowie Bibliotheken von Drittanbietern besprechen.

Verwenden Sie die Standardbibliothek zum Protokollieren.

Die Standardbibliothek von Golang verfügt über ein Paket namens „log“, das eine einfache Möglichkeit zum Protokollieren bietet. Dieses Paket bietet drei Protokollierungsebenen: Info, Warnung und Fehler.

Zuerst müssen Sie den Logger importieren:

import "log"
Nach dem Login kopieren
  1. Informationen aufzeichnen

Informationen protokollieren, indem Sie die Funktion „log.Println()“ aufrufen. Es protokolliert eine Meldung in der Standardfehlerausgabe.

log.Println("Record this info")
Nach dem Login kopieren

Dieser Code gibt Informationen ähnlich der folgenden aus:

2019/11/22 20:04:14 Record this info
Nach dem Login kopieren
  1. Warnungen protokollieren

Warnungen protokollieren, indem Sie die Funktion „log.Println()“ aufrufen. Es protokolliert eine Warnung im Standardfehler und stellt der Meldung „WARN“ voran.

log.Println("WARN: Warning message here")
Nach dem Login kopieren

Dieser Code gibt Informationen ähnlich der folgenden aus:

2019/11/22 20:05:20 WARN: Warning message here
Nach dem Login kopieren
  1. Fehler protokollieren

Fehler protokollieren, indem Sie die Funktion „log.Println()“ aufrufen. Es protokolliert einen Fehler als Standardfehler und stellt der Meldung „ERROR“ voran.

log.Panicln("ERROR: error message here")
Nach dem Login kopieren

Dieser Code gibt Informationen ähnlich der folgenden aus:

2019/11/22 20:06:28 ERROR: error message here
panic: ERROR: error message here

goroutine 1 [running]:
log.Panicln(0xc42000e170, 0x1, 0x1)
        /usr/local/go/src/log/log.go:341 +0xc4
main.main()
        /root/go/src/main.go:10 +0x55
exit status 2
Nach dem Login kopieren

Der obige Code führt dazu, dass das Programm in Panik gerät. Wenn ein Fehler auftritt, beendet sich das Programm sofort nach der Protokollierung des Fehlers und gibt detaillierte Fehlerinformationen aus.

Verwendung von Bibliotheken von Drittanbietern für die Protokollierung

Die von der Standardbibliothek bereitgestellte Protokollierungsfunktion hat ihre Grenzen. Sie können Bibliotheken von Drittanbietern verwenden, um die Protokollierungsfunktionen zu erweitern. Da Protokollierungsbibliotheken von Drittanbietern umfangreiche Funktionen bieten, sind sie für das Debuggen und Testen von Anwendungen praktischer.

Hier nehmen wir die Klassenbibliothek „go-logging“ als Beispiel. Es kann mehrere Protokollebenen aufzeichnen (Info, Warnung, Fehler und Debug).

Zuerst „go-logging“ installieren:

go get github.com/op/go-logging
Nach dem Login kopieren

Bibliothek importieren:

import (
     "github.com/op/go-logging"
     "os"
)
Nach dem Login kopieren
  1. Logger initialisieren

Verwenden Sie die Funktion „logging.MustGetLogger()“, um den Logger zu initialisieren. Sie können optional einen Namen als Parameter angeben, um ihn zwischen mehreren Loggern zu identifizieren.

var log = logging.MustGetLogger("example")
Nach dem Login kopieren
  1. Protokollstufe festlegen

Nach der Initialisierung des Loggers können Sie die Funktion „log.SetLevel()“ verwenden, um die Protokollstufe festzulegen. Diese Funktion akzeptiert einen Parameter vom Typ logging.Level (einschließlich Debug, Info, Warning und Error).

logging.SetLevel(logging.DEBUG, "example")
Nach dem Login kopieren
  1. Erstellen Sie einen Dateilogger

Erstellen Sie einen Dateilogger mit der Funktion „os.Create()“:

logFile, err := os.Create("app.log")
if err != nil {
     log.Error("Cannot create log file", err)
}
defer logFile.Close()
Nach dem Login kopieren
  1. Erstellen Sie einen Formatierer

Erstellen Sie einen Formatierer zum Formatieren der Einträge der Protokolldatei :

formatter := logging.MustStringFormatter(
"%{time:2006/01/02 15:04:05.000} %{shortfile} %{level:.6s} %{message}")
Nach dem Login kopieren
  1. Konfigurieren des Dateiloggers

Erstellen Sie einen Dateilogger über die Funktion „logging.NewBackendFormatter()“:

backend := logging.NewBackendFormatter(
 logging.NewLogBackend(logFile, "", 0),
 formatter)
Nach dem Login kopieren
  1. Fügen Sie den Dateilogger zum Logger hinzu

Sie müssen den Dateilogger hinzufügen, bevor Sie ihn hinzufügen Der Dateilogger ist in ein Backend eingebunden:

logging.SetBackend(backend)
Nach dem Login kopieren

Oder fügen Sie mehrere Logger hinzu:

logging.SetBackend(logging.MultiLogger(
     logging.MultiWriter(os.Stdout, logFile),
     logging.MultiWriter(os.Stderr, logFile),
))
Nach dem Login kopieren
  1. Protokollierung

Jetzt können Sie die vom Logger übergebene Ebene verwenden, um die Protokollinformationen zu „protokollieren“:

log.Infof("This is a info message with %d", 123)
log.Warningf("This is a warning message with %s", "param")
log.Errorf("This is a error message with %v", err)
Nach dem Login kopieren

Der obige Code The Das Protokoll wird beim Protokollieren formatiert und dann in die Protokolldatei geschrieben.

Zusammenfassung:

Die Standardbibliothek von Golang bietet eine einfache Protokollierungsmethode. Durch die Verwendung einer Bibliothek eines Drittanbieters haben Sie jedoch eine bessere Kontrolle über das Verhalten und Format des Loggers. Mithilfe der „logging“-Bibliothek können Sie mehrere Protokollebenen protokollieren und in eine Datei schreiben.

Das obige ist der detaillierte Inhalt vonSo melden Sie sich bei golang an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!