Tengo un archivo de configuración de registro de Python con un manejador de archivos del siguiente formulario.Ruta de archivo dinámica y nombre de archivo para FileHandler en el archivo de configuración del registrador en python
[handler_filelog]
class: FileHandler
args = ('/var/tmp/log/client.log','a')
En cambio, lo necesito en el siguiente formulario (ruta generada dinámicamente).
[handler_filelog]
class: FileHandler
args = ('/var/tmp/log_<unique_string>/client.log','a')
Se pueden estar ejecutando varias instancias del programa y, por lo tanto, se deben usar rutas y archivos de registro no conflictivos. El registrador una vez configurado no necesita cambiarse hasta el final de la ejecución del programa.
¿Hay alguna manera de manejar esto usando el enfoque del archivo de configuración? No estoy interesado en recurrir a la creación de los registradores/controladores/formateadores por mi cuenta ya que mi archivo de configuración de registro tiene muchos de estos y el enfoque basado en archivos de configuración es mucho más agradable.
(Actualización: Estoy usando Python 2.4)
¿Ha intentado extender la clase FileHandler? – Phani
Sí. Como se comenta a continuación, funciona si instancia el manejador yo mismo. Para hacer lo mismo a través del archivo de configuración, no he descubierto cómo hacer que la definición de mi clase sea visible para el módulo de registro. – Gns
Actualicé mi respuesta. –