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