Задать вопрос
stympel
@stympel
подпивасник

Как узнать имя функции, вызвавшей класс?

У меня есть класс, который должен писать логи. Да я знаю, что есть loguru и встроенный модуль и тд...

class Logger:
    @staticmethod
    def push_function_log(function_name: str, message: str):
        записать_лог(..., ..., data={"function": f"{function_name}", "message": f"{message}"})

Я могу как-то в методе push_function_log отлавливать функцию, которая вызвала этот метод, чтобы избавиться от написания имя функции вручную?

Насколько вижу в гугле, это можно сделать через inspect, но только ли через него это можно сделать?
  • Вопрос задан
  • 194 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 2
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
@dzhebrak
Еще вариант:
import sys
sys._getframe(1).f_code.co_names

https://habr.com/ru/post/255239/
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы