Ich habe eine solche Logger-Initialisierungsfunktion:
%Vor%Und an einem Teil meines Codes habe ich eine solche Ausnahme:
%Vor% Seltsamerweise bekomme ich denselben Fehler 2 mal geschrieben und es kann nur einmal caugh sein, sobald ich logger.error('Opps we got an error')
mit print "test"
ändere, bekomme ich "test" einmal ausgedruckt.
Was kann das Problem und die Lösung sein?
Grüße
Sie fügen dem Root-Logger bei jedem Aufruf dieser Funktion einen neuen FileHandler hinzu: Der Aufruf von logger.getLogger ohne Namensargument gibt jedes Mal das gleiche Logger-Objekt zurück.
Sie sollten generate_logger () nur einmal aufrufen und dann durch Aufruf von logger.getLogger ():
einfach das gleiche Logger-Objekt erhalten %Vor%(Beachten Sie, dass Sie generate_logger () nicht benötigen, um jetzt einen Wert zurückzugeben)
Ich denke, dass Sie wahrscheinlich zwei Handler zum Logger hinzugefügt haben. Vielleicht wird irgendwann ein impliziter Handler hinzugefügt.
Wahrscheinlich haben Sie zwei Handler, die zum selben resultierenden Protokoll gehen.
Wie viele Handler erstellen Sie? Wie oft führst du generate_logger
aus? Jedes Mal, wenn Sie generate_logger
ausführen, erstellen Sie einen anderen Handler für dieselbe Datei, was zu einer möglichen Duplizierung führt.