Я пытаюсь узнать, как работает приложение. И для этого я вставляю команды отладки в качестве первой строки тела каждой функции с целью регистрации имени функции, а также номера строки (внутри кода), где я отправляю сообщение в вывод журнала. Наконец, поскольку это приложение состоит из множества файлов, я хочу создать один файл журнала, чтобы лучше понять поток управления приложением.
Вот что я знаю:
для получения имени функции я могу использовать
имя_функции.__имя__
, но я не хочу использовать имя_функции (чтобы можно было быстро скопировать и вставить общийLog .info("Message")
в теле всех функций). Я знаю, что это можно сделать на C с помощью макроса__func__
, но я не уверен в python.для получения имени файла и номера строки, я видел (и я считаю, что) мое приложение использует функцию Python
locals()
, но с синтаксисом, который я не полностью осведомлен, например:options = "LOG.debug("%(flag)s : %(flag_get)s" % locals())
и я пробовал использовать какLOG.info ("Мое сообщение %s" % locals())
, которое создает что-то вроде объекта{"self": <__main__.Class_name по адресу 0x22f8cd0>}
. Любые комментарии по этому поводу, пожалуйста?Я знаю, как использовать ведение журнала и добавить к нему обработчик для записи в файл, но я не уверен, можно ли использовать один файл для записи все сообщения журнала в правильном порядке вызовов функций в проекте.
Буду очень признателен за любую помощь.
Спасибо!