当settings.DEBUG=True时,Django将SQL操作记录到内部缓冲区(无论是否记录到文件)。因为我有一个长时间运行的进程,它执行大量的DB操作,这会导致我的程序的开发模式实例的内存消耗快速增长
我想禁用内部SQL日志记录机制,同时为我的开发打开settings.DEBUG:这可能吗
Django版本1.3.0
是的,您可以通过向名为“django.db.backends”的记录器分配一个“null处理程序”来使sql日志记录安静下来。我假设您使用django新的基于dict的日志记录设置?如果是这样的话,这个片段应该会让它变得简单:
。。。
“处理程序”:{
“空”:{
“级别”:“调试”,
'class':'logging.NullHandler',
},
...
“伐木工人”:{
…您的常规记录器“根”或“”。。。。
“django.db.backends”:{
'handlers':['null'],#默认为安静!
"传播":假,,
“级别”:“调试”,
},
...
更新:也看看Brian的答案。我理解“日志记录”是指每个sql语句的恼人日志记录。Brian谈到每个查询的内部内存日志记录(我想他是对的:-)