Wie implementiert man Level-Logging in Golang?
Gibt es eine gute wrapper verfügbar für die Ebene der Protokollierung in golang?
Wenn nicht, wie gehe ich bei der Umsetzung selbst einer?
Was ich will, ist ziemlich einfach. Ich will ein paar Funktionen, z.B.
log.Error()
log.Info()
etc, zeigen Sie Ihre Ausgaben auf stdout als auch speichern diese in einer log-Datei (basierend auf der Ebene gegeben, um das Programm als Kommandozeilen-argument).
Wie implementiere ich diese wrapper?
InformationsquelleAutor der Frage pymd | 2013-06-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einige Vorschläge mehr, jetzt, dass die vorhandenen Antworten sind ziemlich alt:
InformationsquelleAutor der Antwort Bryan
Ich denke seelog passt Ihr Anforderungenund es scheint ziemlich populär zu sein, wie es erscheint Häufig in der log-Diskussion. Ich verwendete es nie ernst, so kann ich nicht kommentieren, darüber hinaus.
InformationsquelleAutor der Antwort mna
Werfen Sie einen Blick auf http://cgl.tideland.biz und da ist das Paket "applog". Es funktioniert auf diese Weise.
PS: Das ganze CGL wird derzeit überarbeitet und wird bald veröffentlicht mit neuen Funktionen, aber unter einem anderen Namen. 😉
InformationsquelleAutor der Antwort Mue
stdlog passt Ihre Anforderungen genau:
InformationsquelleAutor der Antwort Ale
Uber-go/Zap: Schnell, strukturiert, gelevelt einloggen Gehen
InformationsquelleAutor der Antwort Ankit Deshpande
https://github.com/hashicorp/logutils Ich fand, dass das sehr einfach zu bedienen und Sie brauchen noch nicht einmal zu ändern, die Methode Aufrufe
log.Printf
der std Bibliothek.InformationsquelleAutor der Antwort Jorge Marey
Arbeite ich mit rlog im moment, und wie Sie Ihren Ansatz. Der code sieht gut aus, ist simpel und ausreichend dokumentiert.
Was mich überzeugt:
rlog.Info()
überall, ohne Sie um Verweiserlog.Trace(4, "foo")
InformationsquelleAutor der Antwort noreabu
Habe ich Hinzugefügt die Protokollierung-level-support built-in Gehen-Protokoll-Paket. Sie finden meinen code hier:
https://github.com/gologme/log
Zusätzlich zum hinzufügen von Unterstützung für Info, Warn, Debug, Benutzer können auch definieren Ihre eigenen willkürlichen logging-Ebenen. Logging-Ebenen aktiviert und deaktiviert individuell. Dies bedeutet, dass Sie können schalten Sie Debug-Protokolle, ohne sich auch alles andere.
InformationsquelleAutor der Antwort jordan2175