PHP-Editor Zimo bringt Ihnen einen Artikel über die Logrus-Ausgabe. Während des Entwicklungsprozesses müssen wir häufig Protokolle ausgeben, um Probleme zu beheben und den Codeausführungsprozess zu verfolgen. Logrus ist eine leistungsstarke Protokollierungsbibliothek, die Protokolle in verschiedenen Formaten wie JSON, Text oder benutzerdefinierten Formaten ausgeben kann. In diesem Artikel werden die verschiedenen Formate der Logrus-Ausgabeprotokolle vorgestellt, Entwickler bei der Auswahl des geeigneten Ausgabeformats entsprechend ihren Anforderungen unterstützt und die Lesbarkeit und Benutzerfreundlichkeit von Protokollen verbessert.
Mein Programm wird auf einfache Weise logrus
ohne jegliche Konfiguration verwendet:
<code> logrus.Info("...") </code>
Aber an verschiedenen Orten wird es in unterschiedlichen Formaten ausgegeben, einige Orte wie:
INFO[0016] pushed
Es gibt auch einige Orte, wie zum Beispiel:
time="2023-11-30T05:26:39Z" level=info msg=pushed
Sie wissen nicht, was das Geheimnis dahinter ist?
Lassen Sie mich diese Frage selbst beantworten. Ich habe mir am Wochenende den logrus
-Code angesehen und etwas Kniffliges bemerkt.
logrus
有一个机制来检测当前终端是否有颜色,如果有的话,会以 INFO[0000] Pushed
的格式输出,否则以 time="2023-11-30T05:26:39Z" level= 的格式输出信息 msg=pushed
Es gibt einen Mechanismus, um zu erkennen, ob das aktuelle Terminal Farbe hat. Wenn ja, wird es im Format INFO[0000] Pushed
ausgegeben, andernfalls wird es im Format time="2023-11-30T05: 26:39Z" gibt Informationen im Format level=msg=pushed
aus.
Wenn Sie also immer im ersten Format (kürzer) ausgeben möchten, legen Sie einfach die Force-Farbe fest:
logrus.SetFormatter(&logrus.TextFormatter{ ForceColors: true, })
Wenn Sie das zweite Format wünschen, deaktivieren Sie einfach die Farben:
logrus.SetFormatter(&logrus.TextFormatter{ DisableColors: true, })
Sie können auch das Zeitformat konfigurieren.
Das obige ist der detaillierte Inhalt vonLogrus-Ausgabe in verschiedenen Formaten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!