Мій поточний рядок формату:
formatter = logging.Formatter('%(asctime)s : %(message)s')
і я хочу додати нове поле з назвою, app_name
яке матиме різне значення в кожному скрипті, що містить цей форматтер.
import logging
formatter = logging.Formatter('%(asctime)s %(app_name)s : %(message)s')
syslog.setFormatter(formatter)
logger.addHandler(syslog)
Але я не впевнений, як передати це app_name
значення реєстратору для інтерполяції у рядок формату. Я, очевидно, можу змусити його з'являтися в журналі, щоразу передаючи його, але це брудно.
Я пробував:
logging.info('Log message', app_name='myapp')
logging.info('Log message', {'app_name', 'myapp'})
logging.info('Log message', 'myapp')
але жодна робота не працює.
log
дзвінок? Якщо так, подивіться на документи, де написано: "Ця функціональність може бути використана для введення ваших власних значень у LogRecord ..." Але це, здається, головний випадок для використанняlogger = logging.getLogger('myapp')
та включення його уlogger.info
виклик.