Ich verwende das Python-Protokollierungsmodul und möchte Protokollnachrichten deaktivieren, die von den von mir importierten Drittanbieter-Modulen gedruckt werden. Zum Beispiel verwende ich so etwas wie das Folgende:
logger = logging.getLogger()
logger.setLevel(level=logging.DEBUG)
fh = logging.StreamHandler()
fh_formatter = logging.Formatter('%(asctime)s %(levelname)s %(lineno)d:%(filename)s(%(process)d) - %(message)s')
fh.setFormatter(fh_formatter)
logger.addHandler(fh)
Dadurch werden meine Debug-Meldungen ausgedruckt, wenn ich einen logger.debug ("meine Nachricht!") Ausführe, aber es werden auch die Debug-Meldungen von jedem Modul ausgedruckt, das ich importiere (z. B. Anforderungen und eine Reihe anderer Dinge).
Ich möchte nur die Protokollnachrichten von Modulen sehen, an denen ich interessiert bin. Ist es möglich, dass das Protokollierungsmodul dies tut?
Im Idealfall möchte ich den Logger anweisen können, Nachrichten von "ModuleX, ModuleY" zu drucken und alle anderen zu ignorieren.
Ich habe mir Folgendes angesehen, möchte aber nicht vor jedem Aufruf einer importierten Funktion die Protokollierung deaktivieren / aktivieren müssen: Protokollierung - Wie werden importierte Modulprotokolle ignoriert?
__name__
r, sehe aber immer noch die Protokolle der importierten Module. Ich versuche, die Protokollierung mit einer INI-Konfigurationsdatei zu konfigurieren. Was soll ich dafür tun?