我现在的格式字符串:如何将自定义字段添加到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