因此,在进行开发时,我可以将设置。DEBUG设置为True,如果发生错误,我可以看到它的格式很好,具有良好的堆栈跟踪和请求信息
但在某种生产站点上,我宁愿使用DEBUG=False并向访问者显示一些标准错误500页,其中包含我目前正在修复此错误的信息;)
同时,我希望有一些方法将所有这些信息(堆栈跟踪和请求信息)记录到我服务器上的一个文件中,这样我就可以将其输出到我的控制台,并观看错误滚动,每小时通过电子邮件将日志发送给我,或者类似的事情
对于django站点,您会推荐哪些日志记录解决方案来满足这些简单的需求?我将应用程序作为fcgiserver运行,并将apacheweb服务器用作前端(尽管考虑使用lighttpd)
好的,当DEBUG=False时,Django会自动向ADMINS设置中列出的每个人发送所有错误的完整回溯,这会让您免费收到通知。如果想要更细粒度的控制,可以编写中间件类并将其添加到设置中,该类定义了名为process\u exception()的方法,该方法将访问引发的异常:
http://docs.djangoproject.com/en/dev/topics/http/middleware/#process-例外情况
然后,您的process\u exception()
编辑:虽然它不太有用,但您也可以监听got\u request\u exception信号,该信号将在请求处理过程中遇到异常时发送:
http://docs.djangoproject.com/en/dev/ref/signals/#got-请求例外
但是,这并不能让您访问异常对象,因此中间件方法更容易使用