Come aggiungo un campo personalizzato alla stringa di formato del registro Python?

| | | | | | | | | |

La mia stringa di formato corrente è:

formatter = logging.Formatter("%(asctime)s : %(message)s") 

e voglio aggiungere un nuovo campo chiamato app_name che avrà un valore diverso in ogni script che contiene questo formattatore.

import logging formatter = logging.Formatter(" %(asctime)s %(app_name)s : %(message)s") syslog.setFormatter(formatter) logger.addHandler(syslog) 

Ma non sono sicuro di come passare quel valore app_name al logger per interpolarlo nella stringa di formato. Ovviamente posso farlo apparire nel messaggio di registro passandolo ogni volta, ma è disordinato.

I" ho provato:

logging.info("Messaggio di log", app_name="myapp") logging.info("Messaggio di log", {"app_name", "myapp"}) logging.info ("Messaggio di registro", "myapp") 

ma nessuno funziona.