0
我在非Django应用程序中使用Django ORM,并且希望打开DEBUG设置,以便我可以定期记录我的查询。所以我有一些隐约这样的:打开Django制作网站上的DEBUG
from django.db import connection
def thread_main_loop():
while keep_going:
connection.queries[:] = []
do_something()
some_logging_function(connection.queries)
我想这样做我的生产服务器上,但商务部警告说,“同样重要的是要记住,使用调试运行时开启,Django会记得每执行一次SQL查询,这在调试时很有用,但在生产服务器上,它将快速消耗内存。“
因为connection.queries
列表每次通过每个线程的主循环被清除,我相信Django查询日志记录不会导致我的应用程序消耗内存。它是否正确?如果我只使用Django ORM,是否还有其他原因不会在生产环境中关闭DEBUG?
好吧,正如我所说的,我们只使用ORM,所以即使DEBUG打开,我们的服务器也不会将我们的堆栈跟踪暴露给不受信任的第三方。您有没有其他原因让您知道不使用DEBUG? – 2010-03-04 17:01:54
哦,对了,我扩展了我的答案。 – stefanw 2010-03-05 09:37:58