我正在考虑使用类似的中间件记录每个请求对postgresql数据库进行的所有sql查询 Snippet 1 要么 Snippet 2
它会影响应用程序的性能吗? Postgres普通日志记录对我来说不起作用,因为除了sql查询,我还需要存储一些额外的信息。
我尝试使用数据库日志记录来记录所有sql查询,但遗憾的是,当设置文件中的DEBUG = False时,它似乎不起作用。
答案 0 :(得分:3)
您可以通过在setting.py中定义Logging来进行自定义日志记录 请阅读本文件。
使用此doc:
可以在debug = false时记录logging doc 将此代码添加到setting.py:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '/path/to/debug.log',
},
},
'loggers': {
'django.db.backends': {
'handlers': ['file'],
'level': 'DEBUG',
},
}}
在上面的两个链接中,你在snippet2中说它只在debug = true时有效 在第35行的snippet1中有一个这样的条件:
if len(connection.queries) > 0 and settings.DEBUG:
....
显示它在debug = true
中有效我希望它有所帮助。