Logowanie w Pythonie (nazwa funkcji, nazwa pliku, numer wiersza) przy użyciu pojedynczego pliku

| | | | | | | | | | | |

Próbuję dowiedzieć się, jak działa aplikacja. W tym celu wstawiam polecenia debugowania jako pierwszy wiersz treści każdej funkcji w celu zarejestrowania nazwy funkcji, a także numeru wiersza (w kodzie), w którym wysyłam wiadomość do wyjścia dziennika. Wreszcie, ponieważ ta aplikacja składa się z wielu plików, chcę utworzyć pojedynczy plik dziennika, aby lepiej zrozumieć przepływ sterowania aplikacją.

Oto, co wiem:

  1. aby uzyskać nazwę funkcji, mogę użyć nazwa_funkcji.__nazwa__, ale nie chcę używać nazwy_funkcji (aby móc szybko skopiować i wkleić ogólny Dziennik .info("Wiadomość") w treści wszystkich funkcji).Wiem, że można to zrobić w C za pomocą makra __func__, ale nie jestem pewien co do Pythona.

  2. aby uzyskać nazwę pliku i numer wiersza, widziałem (i wierzę, że) moja aplikacja używa funkcji Pythona locals(), ale w składni, którą ja nie do końca świadomy np.: options = "LOG.debug("%(flag)s: %(flag_get)s" % locals()) i próbowałem go używając jak LOG.info („Moja wiadomość %s” % locals()), która generuje coś takiego jak {"self": <__main__.Class_name obiekt pod adresem 0x22f8cd0>}. Jakieś dane w tej sprawie proszę?

  3. Wiem, jak korzystać z rejestrowania i dodać do niego procedurę obsługi, aby zalogować się do pliku, ale nie jestem pewien, czy pojedynczy plik może być użyty do nagrywania wszystkie komunikaty dziennika we właściwej kolejności wywołań funkcji w projekcie.

Byłbym bardzo wdzięczny za wszelką pomoc.

Dzięki!