我需要拦截所有对数据库的查询并将它们写入文件日志。 因此,如果像 DELETE、UPDATE 和 CREATE 这样的基本操作我可以用信号框架拦截。但是 READ 查询呢?我怎样才能用信号捕获它们?
最佳答案
我认为 django 已经通过它的日志框架做到了这一点。如果您只想专门记录数据库查询。 您可以在设置中尝试以下操作。
LOGGING = {
'handlers': {
'query': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': 'logs/query.log',
'formatter': 'verbose'
},
},
'loggers': {
'django.db.backends': {
'handlers': ['query'],
'propagate': False,
'level': 'DEBUG',
},
}
}
关于python - 如何在Django中拦截所有对数据库的读取查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42481175/