Log de Python (nome da função, nome do arquivo, número da linha) usando um único arquivo

Eu estou tentando aprender como funciona um aplicativo. E para isso eu estou inserindo comandos debug como a primeira linha do corpo de cada função com o objetivo de registrar o nome da função, bem como o número da linha (dentro do código), onde eu envio uma mensagem para a saída do log. Finalmente, como esse aplicativo é composto de muitos arquivos, desejo criar um único arquivo de log para que eu possa entender melhor o fluxo de controle do aplicativo.

Aqui está o que eu sei:

para obter o nome da função, posso usarfunction_name.__name__ mas eu não quero usar o function_name (para que eu possa rapidamente copiar e colar um genéricoLog.info("Message") no corpo de todas as funções). Eu sei que isso poderia ser feito em C usando__func__ macro, mas não tenho certeza sobre python.

para obter o nome do arquivo e número da linha, eu vi isso (e eu acredito que) meu aplicativo está usando Pythonlocals() função, mas em uma sintaxe que eu não estou completamente ciente de por exemplo:options = "LOG.debug('%(flag)s : %(flag_get)s' % locals()) e eu tentei usando comoLOG.info("My message %s" % locals()) que produz algo como{'self': <__main__.Class_name object at 0x22f8cd0>}. Alguma entrada sobre isso por favor?

Eu sei como usar o log e adicionar manipulador para ele para logar em um arquivo, mas não tenho certeza se um único arquivo pode ser usado para gravar todas as mensagens de log na ordem correta de chamadas de função no projeto.

Eu apreciaria muito qualquer ajuda.

Obrigado!

questionAnswers(3)

yourAnswerToTheQuestion