在调试模式下运行 runserver 时, 如何让 Django 1.0 将所有错误写入控制台或日志文件?
我尝试使用带有 process_exception 函数的中间件类,如该问题的接受答案中所述:
某些异常会调用 process_exception 函数(例如:views.py 中的 assert(False)),但不会因为 ImportErrors 等其他错误调用 process_exception(例如:urs.py 中的 import thisclassdoesnotexist)。我是 Django/Python 的新手。这是因为运行时错误和编译时错误之间存在一些区别吗?但是我希望 runserver 会抱怨它是否是编译时错误,而事实并非如此。
我看过 Simon Willison 关于 Django 调试的精彩演示(http://simonwillison.net/2008/May/22/debugging/),但我没有看到适合我的选项。
万一它是相关的,我正在编写一个 Facebook 应用程序,Facebook 用他们自己的消息掩盖 HTTP 500 错误,而不是显示 Django 信息丰富的 500 页面。所以我需要一种将所有类型的错误写入控制台或文件的方法。
编辑:我想我的期望是,当我在 urls.py 中有错误的导入 (ImportError) 时,如果 Django 可以返回一个包含大量详细信息的 500 错误页面,它应该能够将相同的详细信息写入控制台或没有的文件必须在代码中添加任何额外的异常处理。我从未见过围绕 import 语句的异常处理。
谢谢,杰夫