[英]Python: WSGI crashing with no error
我目前正在WSGI中開發Web服務,但是腳本在執行查詢的那一行崩潰。 我使用的代碼與其他可用的Web服務完全相同,甚至簡化了查詢以進行測試,但無濟於事。 真正的問題是,盡管我可以手動將內容打印到VirtualHost中指定的error_log中,但沒有腳本崩潰時發生的錯誤的日志。 我現在所知道的是,將行之前的打印內容寫入日志,但不打印之后的內容。 如何將錯誤打印到日志並找到問題的根源?
代碼(簡化一點):
webservice.wsgi:
def application(environ, start_response):
ENV = environ.get('APPLICATION_ENV', 'DEV')
connector = ConnectorObj(confParams['dbname'], confParams['host'], confParams['port'], confParams['user'], confParams['password'])
method = environ.get('REQUEST_METHOD', '')
if (method == 'POST'):
content_body = json.loads(request_body)
han = HandlerObj(connector)
res = han.getBld()
start_response('200 OK', [('content-type', 'application/json; charset=utf-8'), ('Access-Control-Allow-Origin', '*')])
return(res)
getBld:
def getBld(self):
print "execute query"
self.cur.execute("""
SELECT * FROM adr.bld
""")
print "after executing query"
在執行post調用之后,我可以看到“執行查詢”被打印到error_log上,但是它只是崩潰了,並沒有進入“執行查詢后”。
再次,我不是在問實際代碼有什么問題(我必須提供更多信息才能理解它),而只是簡單地知道如何以某種方式獲取錯誤跟蹤,以便自己開始調試它。 。
這取決於您使用的數據庫。 如果它是開放源代碼,我建議采用源代碼並使用啟用的調試模式進行編譯,這將導致DB為其自身創建日志文件,該日志文件可能指向錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.