
Django ORM:实现多文件SQL日志记录
Django ORM 默认将所有SQL语句记录到同一个日志文件中。 本文探讨如何将不同应用的SQL日志记录到不同的文件中。
问题:
Django 的 django.db.backends 使用单一记录器,无法直接实现多文件日志记录。
华友协同办公管理系统(华友OA),基于微软最新的.net 2.0平台和SQL Server数据库,集成强大的Ajax技术,采用多层分布式架构,实现统一办公平台,功能强大、价格便宜,是适用于企事业单位的通用型网络协同办公系统。 系统秉承协同办公的思想,集成即时通讯、日记管理、通知管理、邮件管理、新闻、考勤管理、短信管理、个人文件柜、日程安排、工作计划、工作日清、通讯录、公文流转、论坛、在线调查、
解决方案:
以下方法可以实现多文件SQL日志记录:
-
自定义
CursorWrapper类: 重写Django的CursorWrapper类,为每个应用创建独立的日志记录器。 - 使用装饰器: 为执行SQL语句的方法添加装饰器,将日志写入指定文件。
- 自定义日志处理器: 编写自定义日志处理器,根据应用名称过滤日志并写入不同文件。
选择哪种方案取决于您的项目结构和偏好。 每种方法都需要一定的代码编写和修改,以实现日志文件的按应用拆分。









