Wie man Protokollniveau in Winston / Node.js einrichtet?
Bin ich mit winston die Protokollierung mit meinem node.js app definiert eine Datei transport. Überall in meinem code, ich log entweder logger.error
logger.warn
oder logger.info
.
Meine Frage ist, wie kann ich festlegen, das log-level? Gibt es eine config-Datei und der Wert, den ich einstellen kann, damit nur die entsprechende log-Meldungen protokolliert werden? Zum Beispiel würde ich gerne das log-level "info" in meiner Entwicklungsumgebung aber "Fehler" in der Produktion.
InformationsquelleAutor der Frage Silent User | 2013-03-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht aus wie es ein level-option in den Optionen übergeben bedeckt hier
Aus, dass doc:
Nun, diese Beispiele zeigen, vorbei an der Ebene in der option Objekt, um die Konsole zu transportieren. Wenn Sie eine Datei verwenden, transport -, ich glaube, würde man ein options-Objekt, das enthält nicht nur den Dateipfad, sondern auch das Niveau.
Führen sollen, um so etwas wie:
Pro, doc, beachten Sie auch, dass, wie der 2.0, macht es eine Methode setLevel während der Laufzeit geändert werden. Suchen Sie in der Mit Log-Level Abschnitt der doc.
InformationsquelleAutor der Antwort bryanmac
setzt den log-level 'debug'. (Getestet mit winston 0.7.3)
InformationsquelleAutor der Antwort AndreasPizsa
Gibt es 6 Standard-Ebenen in winston: albern=0(niedrigste), debug=1, verbose=2, info=3, warn=4, Fehler=5(höchste)
Während der Erstellung der logger Transporte, können Sie den log-level wie:
Obige code set log level zu
warn
was bedeutet, dasssilly
verbose
undinfo
wird nicht mehr ausgegeben werden, um somefile.melden, währendwarn
debug
underror
wird.Können Sie auch definieren Sie Ihre eigenen levels:
Beachten Sie, dass es besser ist, immer die 6 vordefinierten Ebenen in Ihre eigenen benutzerdefinierten Ebenen, in Fall irgendwo verwendet die vordefinierten Ebenen.
InformationsquelleAutor der Antwort Chen
Ändern Sie können die logging-Ebene in runtime durch ändern der
level
Eigentum der entsprechenden transport:Ich denke, es funktioniert ähnlich wie für die Datei, aber ich habe nicht versucht.
InformationsquelleAutor der Antwort weekens
Wenn Sie möchten, ändern Sie den "log level" on-the-fly. Wie für wenn Sie brauchen, um trace-Produktion Problem für kurze Zeit; dann wieder Fehler-log-level. Sie können ein dynamisches logger vorausgesetzt, Sie können setzen Sie einen Dienst über das web - https://github.com/yannvr/Winston-dynamic-loglevel
InformationsquelleAutor der Antwort Yann VR