Mi cadena de formato actual es:
formatter = logging.Formatter('%(asctime)s : %(message)s')
y quiero agregar un nuevo campo llamado app_nameque tendrá un valor diferente en cada script que contiene este formateador.
import logging
formatter = logging.Formatter('%(asctime)s %(app_name)s : %(message)s')
syslog.setFormatter(formatter)
logger.addHandler(syslog)
Pero no estoy seguro de cómo pasar ese app_namevalor al registrador para interpolarlo en la cadena de formato. Obviamente, puedo hacer que aparezca en el mensaje de registro pasándolo cada vez, pero esto es complicado.
He intentado:
logging.info('Log message', app_name='myapp')
logging.info('Log message', {'app_name', 'myapp'})
logging.info('Log message', 'myapp')
pero ninguno funciona.
logllamada? Si es así, mire los documentos donde dice "Esta funcionalidad puede usarse para inyectar sus propios valores en un LogRecord ..." Pero este parece ser un caso excelente para usarlologger = logging.getLogger('myapp')y tenerlo integrado en lalogger.infollamada.