मेरा वर्तमान प्रारूप स्ट्रिंग है:
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
।