สตริงรูปแบบปัจจุบันของฉันคือ:
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
โทร