Wie bekomme ich den Namen der Klasse enthält eine logging-Aufruf in Python?

Wenn ich will den Namen der Funktion kann ich einfach %(funcName)s im Formatierer. Aber wie bekomme ich den Namen der Klasse, in der die Protokollierung der Anruf statt?

Ich habe die Dokumentation für logging, aber ich finde keine Erwähnung von ihm.

  • Der Grund, der name der Klasse ist nicht standardmäßig verfügbar ist, während der name der Funktion ist leicht aus dem frame-Objekt auf dem Stapel - f.f_code.co_name - der name der Klasse nicht. Immer den Namen der Klasse verlangen würde, eine Laufzeit-Strafe größer als der entsprechende nutzen - schließlich kann man schon genau sehen, welche Datei und Zeile der call kam von, das ist präziser, als nur die Klasse.
Schreibe einen Kommentar