내 현재 형식 문자열은 다음과 같습니다.
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
호출에 구워지는 주요 사례처럼 보입니다 .