Installieren Sie den Filter auf Protokollierungsebene in Python mithilfe von dictConfig

8

Ich kann keinen Filter für einen Logging-Handler mit der dictConfig() -Syntax installieren. LoggingErrorFilter.filter() wird einfach ignoriert, nichts passiert.

Ich möchte Fehlermeldungen ausfiltern, damit sie nicht zweimal in der Protokollausgabe erscheinen. Also habe ich LoggingErrorFilter class geschrieben und filter() überschrieben.

Meine Konfiguration:

%Vor%

Was mache ich hier falsch? Warum wird mein Filter ignoriert?

    
Pavlo Dyban 30.01.2014, 11:41
quelle

2 Antworten

17

Tatsächlich ist die Antwort von Tupteq im Allgemeinen nicht korrekt. Das folgende Skript:

%Vor%

Wenn es ausgeführt wird, erzeugt es die folgende Ausgabe:

%Vor%

zeigt, dass Sie Filter mit dictConfig() konfigurieren können

    
Vinay Sajip 30.01.2014, 18:12
quelle
5

Sie können einen Klassennamen angeben, aber es wird mit dem seltsamen Namen () key gemacht, und er muss den Modulnamen enthalten. Zum Beispiel:

%Vor%     
Daniel Darabos 15.10.2016 13:03
quelle

Tags und Links