Meine aktuelle Formatzeichenfolge lautet:
formatter = logging.Formatter('%(asctime)s : %(message)s')
und ich möchte ein neues Feld mit dem Namen hinzufügen, app_name
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)
Ich bin mir jedoch nicht sicher, wie ich diesen app_name
Wert an den Logger übergeben soll, um ihn in die Formatzeichenfolge zu interpolieren. Ich kann es natürlich dazu bringen, in der Protokollnachricht zu erscheinen, indem ich es jedes Mal weitergebe, aber das ist chaotisch.
Ich habe es versucht:
logging.info('Log message', app_name='myapp')
logging.info('Log message', {'app_name', 'myapp'})
logging.info('Log message', 'myapp')
aber keine funktioniert.
log
Anruf weitergeben? Wenn ja, schauen Sie sich die Dokumente an, in denen steht: "Diese Funktionalität kann verwendet werden, um Ihre eigenen Werte in einen LogRecord einzufügen ...". Dies scheint jedoch ein Hauptfall für die Verwendunglogger = logging.getLogger('myapp')
und Einbringung in denlogger.info
Aufruf zu sein.