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