Farbprotokollierung mit dem Protokollierungsmodul in Python

9

Lassen Sie uns das vereinfachen. Mein Ziel ist es, die Farbausgabe im Terminal mithilfe des Moduls Protokollierung in Python zu erstellen. Ich möchte, dass info ein grünes Präfix hat, Warnungen ein gelbes Präfix und Fehler ein rotes Präfix haben. Um es einfacher zu machen, verwenden wir *** als Präfix, d. H.

%Vor%

Was ich bisher gemacht habe

%Vor%

Und benutze es als

%Vor%

Es funktioniert, aber was ich nicht mag: (von kleinen zu großen Problemen)

  1. Ich verberge die Fähigkeiten von logging module. Zum Beispiel Aktivieren / Deaktivieren von Debug-Nachrichten
  2. Ich sollte globale Deklaration von Funktionen vor ihrer Initialisierung verwenden, da ich eine Funktion vor seiner Deklaration nicht aufrufen kann.
  3. Es ist zu schwierig, den Code zu lesen und zu pflegen. Ich glaube, dass alles so einfach wie möglich sein sollte.

Warum mache ich nicht einfach Log, warn, einfache Funktion? Ich weiß es nicht. logging ist das sehr umfassende Modul, also werde ich seine Funktionen in der Zukunft brauchen.

Meine Frage ist, wie würden Sie dieses Problem lösen? Kann sein, dass es einen einfachen offensichtlichen Weg gibt, den ich nicht kenne.

    
Deck 20.12.2013, 14:56
quelle

1 Antwort

3

Danke Dominic Kexel für diesen Link. Ich habe das gesehen, aber die Antwort nicht beachtet. Der folgende Code ist mehr oder weniger für mich geeignet.

%Vor%

Es gibt einen Fehler darin: Ich kann die Position von *** im Muster nicht kontrollieren, aber wie gesagt, es ist geeignet.

    
Deck 20.12.2013, 16:06
quelle

Tags und Links