我現在的格式字符串:如何將自定義字段添加到Python日誌格式字符串?
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'調用嗎?如果是這樣,請查看[文檔](http://docs.python.org/3.3/library/logging.html#logrecord-objects),其中提到「此功能可用於將自己的值注入到LogRecord中...... 「但是,這似乎是使用logger = logging.getLogger('myapp')'的一個主要情況,並將其燒錄到'logger.info'調用中。 – abarnert