Wie füge ich der Python-Protokollformatzeichenfolge ein benutzerdefiniertes Feld hinzu?

| | | | | | | | | |

Mein aktueller Format-String ist:

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

und ich möchte ein neues Feld namens app_name hinzufügen, das in jedem Skript, das diesen Formatierer enthält, einen anderen Wert hat.

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

Aber ich bin mir nicht sicher, wie ich weitergeben soll diesen app_name-Wert an den Logger, um ihn in die Formatzeichenfolge zu interpolieren. Ich kann ihn natürlich in der Protokollnachricht erscheinen lassen, indem ich ihn jedes Mal übergebe, aber das ist chaotisch.

I" habe versucht:

logging.info("Protokollnachricht", app_name="myapp") logging.info("Protokollnachricht", {"app_name", "myapp"}) logging.info ("Protokollnachricht", "myapp") 

aber nichts funktioniert.