Python 为什么在OpenShift下的浏览器中看不到Django异常?

Python 为什么在OpenShift下的浏览器中看不到Django异常?,python,django,openshift,Python,Django,Openshift,背景: 我有一个OpenShift Python 2.7 gear,其中包含我的Django 1.6应用程序。我使用django-openshift-quickstart.git作为我自己项目的起点,效果很好 但是,如果我的代码中有语法错误或其他异常,我就无法找到它。我可以通过以下方式跟踪日志: rhc tail -a appname 但是,这只表明发生了500个错误。我从未见过任何例外情况或细节,除了: 10.137.24.60, x.x.x.x - - [13/Nov/2014:17:12

背景:

我有一个OpenShift Python 2.7 gear,其中包含我的Django 1.6应用程序。我使用django-openshift-quickstart.git作为我自己项目的起点,效果很好

但是,如果我的代码中有语法错误或其他异常,我就无法找到它。我可以通过以下方式跟踪日志:

rhc tail -a appname
但是,这只表明发生了500个错误。我从未见过任何例外情况或细节,除了:

10.137.24.60, x.x.x.x - - [13/Nov/2014:17:12:27 -0500] "GET /snapper/snapshots HTTP/1.1" 500 27 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36"
客户端web浏览器报告:

Server Error (500)
我在我的settings.py中打开了调试设置(DEBUG=True),但这没有什么区别。我在日志或浏览器中仍然没有看到异常

我相信容器(gear)使用的是haproxy+apache+mod_wsgi+python2.7

我非常想开始让Django异常报告到我的浏览器

问题:

当DEBUG设置为True时,为什么在OpenShift下的浏览器(或日志文件)中看不到Django异常

我意识到这似乎与现有的问题相似,但“rhc tail-a”只是显示了500条错误行——我仍然没有看到Django异常

阿特瓦坎克塞


道格

我对OpenShift一无所知,但是

  • 您可能需要配置记录器()和
  • 当您对设置进行一些更改时,必须重新启动wsgi进程 现在我强烈建议您不要在生产服务器上设置
    DEBUG=True
    ——使用正确配置的记录器和SMTP服务器,您应该通过邮件获得所有未处理的异常


    最后一点:如果您有语法错误之类的问题,那么Django甚至可能无法完成任何日志记录。在这种情况下,您可以获得的信息取决于服务器进程本身。但无论如何,您都没有理由在生产服务器上获得SyntaxError,因为您不应该在生产服务器上编辑代码…

    。。。结果证明我根本没有设置DEBUG=True!我可以发誓我在某个时候在settings.py中设置了它,但我的提交历史强烈表明我错了

    在我的wsgi/settings.py中使用DEBUG=True,我现在可以在OpenShift上调试我的应用程序

    我为这噪音道歉


    Doug

    当在本地运行时,该应用程序在manage.py runserver下运行良好,通过浏览器报告异常。我相信这是OpenShift特有的,也许是gears结合haproxy+apache+mod_wsgi+python的方式。我非常清楚DEBUG=True不适用于生产。这是一个基于django-openshift-quickstart.git的概念验证应用程序,永远不会投入生产。@Doug为那些无用的建议感到抱歉。不必抱歉,关于在DEBUG=True下运行的建议是很好的一般建议。