Benutzerdefinierte Logger-Klasse und korrekte Zeilennummer / Funktionsname im Log

Ich möchte Python-Logger in eine benutzerdefinierte Klasse einbinden, um einige anwendungsspezifische Funktionen einzubetten und Setup-Details vor Entwicklern zu verbergen (Einstellen der Dateiausgabe, Protokollierungsstufe usw.). Zu diesem Zweck habe ich eine Klasse mit der folgenden API erstellt:

__init__(log_level, filename)
debug(msg)
info(msg)
warning(msg)
error(msg)

Logger.debug / info / warning / etc-Aufrufe schreiben normalerweise die Funktion und die Zeilennummer in das Protokoll, in der der Protokollaufruf getätigt wurde. Mit meiner benutzerdefinierten Klasse sind die in die Protokolldatei geschriebenen Funktions- und Zeilennummern jedoch immer gleich (entsprechend den Funktionen debug () / info () / warning () / error () innerhalb der benutzerdefinierten Klasse). Ich möchte, dass der Code der Anwendungszeile gespeichert wird, in der die Nachricht protokolliert wurde. Ist das möglich?

Danke im Voraus.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage