Ma chaîne de format actuelle est:
formatter = logging.Formatter('%(asctime)s : %(message)s')
et je veux ajouter un nouveau champ appelé app_name
qui aura une valeur différente dans chaque script qui contient ce formateur.
import logging
formatter = logging.Formatter('%(asctime)s %(app_name)s : %(message)s')
syslog.setFormatter(formatter)
logger.addHandler(syslog)
Mais je ne sais pas comment transmettre cette app_name
valeur à l'enregistreur pour interpoler dans la chaîne de format. Je peux évidemment le faire apparaître dans le message de journal en le passant à chaque fois, mais c'est compliqué.
J'ai essayé:
logging.info('Log message', app_name='myapp')
logging.info('Log message', {'app_name', 'myapp'})
logging.info('Log message', 'myapp')
mais aucun ne fonctionne.
log
appel? Si c'est le cas, regardez la documentation où il est dit "Cette fonctionnalité peut être utilisée pour injecter vos propres valeurs dans un LogRecord ..." Mais cela semble être un cas de choix pour l'utiliserlogger = logging.getLogger('myapp')
et le faire cuire dans l'logger.info
appel.