Python记录器调试:没有处理程序可以找到记录器“__main__”
我有一个plivo电话会议应用程序。我能够在本地运行的应用程序,但是当我在Heroku上运行我收到以下错误,它可以杀死我的应用程序: 2015-02-12T05:36:08.173658+00:00 app[web.1]: No handlers could be found for logger "__main__" 2015-02-12T05:36:08.173695+00:00 app[web.1]: Pilvo error: CombinedMultiDict([ImmutableMultiDict([]), ImmutableMultiDict([('From', u'zzzphone'), ('Direction', u'inbound'), ('BillRate', u'0.00850'), ('CallerName', u'+yyyphone'), ('To', u'xxxphone'), ('CallStatus', u'ringing'), ('CallUUID', u'0aaf7442-b279-11e4-af9d-ff55a7d29b8a'), ('Event', u'StartApp')])]) ,
Python记录器调试:没有处理程序可以找到记录器“__main__”
这是所有从我的应用程序,它具有“记录器”模块的代码。我尝试对代码进行评论以确定问题。该应用程序支持录制电话会议,但是当我拨打python应用程序时,我甚至不会进入主菜单输入数字,然后进入会议实例,因此错误必须是固有的。
logging.config.dictConfig({
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'recording': {
'format': '[%(asctime)s]: %(message)s',
},
'verbose': {
'format': '%(levelname)s::%(asctime)s::%(module)s -- %(message)s',
}
},
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'stream': sys.stdout,
'formatter': 'verbose'
},
'recordings_file': {
'level': 'INFO',
'filename': 'recordings.log',
'class': 'logging.FileHandler',
'formatter': 'recording'
},
'logfile': {
'level': 'DEBUG',
'filename': 'debug.log',
'class': 'logging.FileHandler',
'formatter': 'verbose'
}
},
'loggers': {
'recordings': {
'handlers': ['recordings_file'],
'level': 'INFO',
'propagate': True,
},
'root': {
'handlers': ['logfile', 'console'],
'level': 'INFO',
'propagate': True
},
}
})
"""
logger = logging.getLogger(__name__)
recordings = logging.getLogger('recordings')
@app.route('/response/main_menu', methods=['GET', 'POST'])
def main_menu():
logger.debug('New call')
logger.debug('--')
response = plivoxml.Response()
这里还有:
app.route('/response/error_handler/', methods=['POST'])
def error_handler():
logger.error('Pilvo error: %s , %s' % (request.values, request.data))
print 'Pilvo error: %s , %s' % (request.values, request.data)
response = plivoxml.Response()
response.addRedirect(url_for('ivr', _external=True))
return Response(str(response), mimetype='text/xml')
您使用的瓶?
如果是这样,尝试从应用程序中调用记录:
app.logger.error('Pilvo error...')
这并删除我上面所描述的错误。现在我收到一个plivo错误'2015-02-12T18:58:35.078126 + 00:00 app [web.1]:Pilvo error:CombinedMultiDict([ImmutableMultiDict([]),ImmutableMultiDict([('From',u'zzzphone '),('Event',u'StartApp'),('Direction',u'inbound'),('CallUUID',u'2476874c-b2e9-11e4-b9c3-2b70f7e6a9a7'),('BillRate',u ''0.00850'),('CallerName',u'+ xxxxphone'),('CallStatus',u'ringing'),('To',u'yyyyphone')])]),'......关于一个immutableMultiDict ? – phillipsK 2015-02-12 19:01:26