Mi cadena de formato actual es:
formatter = logging.Formatter('%(asctime)s : %(message)s')
y quiero agregar un nuevo campo llamado app_name
que 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_name
valor 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.
log
llamada? 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.info
llamada.