Registro de Python (nombre de función, nombre de archivo, número de línea) usando un solo archivo

Estoy tratando de aprender cómo funciona una aplicación. Y para esto estoy insertando comandos de depuración como la primera línea del cuerpo de cada función con el objetivo de registrar el nombre de la función, así como el número de línea (dentro del código) donde envío un mensaje a la salida del registro. Finalmente, ya que esta aplicación se compone de muchos archivos, quiero crear un solo archivo de registro para poder entender mejor el flujo de control de la aplicación.

Esto es lo que sé:

Para obtener el nombre de la función, puedo usarfunction_name.__name__ pero no quiero usar el function_name (para poder copiar y pegar rápidamente un genérico)Log.info("Message") en el cuerpo de todas las funciones). Sé que esto podría hacerse en C usando__func__ macro pero no estoy seguro de python.

para obtener el nombre del archivo y el número de línea, he visto que (y creo que) mi aplicación está usando Pythonlocals() función pero en una sintaxis que no conozco por ejemplo, por ejemplo:options = "LOG.debug('%(flag)s : %(flag_get)s' % locals()) y lo probé usando comoLOG.info("My message %s" % locals()) que produce algo como{'self': <__main__.Class_name object at 0x22f8cd0>}. Cualquier entrada sobre esto por favor?

Sé cómo usar el registro y agregarle un controlador para iniciar sesión en un archivo, pero no estoy seguro de si se puede usar un solo archivo para registrar todos los mensajes de registro en el orden correcto de las llamadas de función en el proyecto.

Apreciaría mucho cualquier ayuda.

¡Gracias!

Respuestas a la pregunta(3)

Su respuesta a la pregunta