
Django ORM:实现多文件SQL日志记录
Django ORM 默认将所有SQL语句记录到同一个日志文件中。 本文探讨如何将不同应用的SQL日志记录到不同的文件中。
问题:
Django 的 django.db.backends 使用单一记录器,无法直接实现多文件日志记录。
解决方案:
以下方法可以实现多文件SQL日志记录:
-
自定义
CursorWrapper类: 重写Django的CursorWrapper类,为每个应用创建独立的日志记录器。 - 使用装饰器: 为执行SQL语句的方法添加装饰器,将日志写入指定文件。
- 自定义日志处理器: 编写自定义日志处理器,根据应用名称过滤日志并写入不同文件。
选择哪种方案取决于您的项目结构和偏好。 每种方法都需要一定的代码编写和修改,以实现日志文件的按应用拆分。










