将Django的SQL语句写入JSONL日志文件
项目描述
Django SQL日志中间件
一个中间件,用于将Django SQL查询和统计信息写入jsonl文件。当您有数百兆字节的日志文件时,这使得分析变得更容易。
受django-sqlprint-middleware项目的启发
安装
pip install django-sql-log-middleware
将其添加到settings.py的中间件部分
MIDDLEWARE = [
...
'django_sql_log_middleware.SqlLogMiddleware',
]
输出
输出将被写入以下格式中指定的路径。每行都是一个JSON对象,覆盖单个请求。时间是当前的Unix时间。查询时间以秒为单位。
{
"path": "/path/to/api?abc=1234",
"time": 1649301150,
"queries": [
{"sql": "select * from users", "time": 1.1234},
{"sql": "select * from things", "time": 4.1234},
]
}
设置
在您的settings.py文件中指定以下设置
- DEBUG 仅当DEBUG设置时,此中间件才会运行。
- SQLLOG_MIDDLEWARE 将此变量设置为
False
禁用中间件而不删除。默认为True
- SQLLOG_PATH_RE 仅在匹配的路径中记录SQL查询的正则表达式模式。默认为
.*
- SQLLOG_LOG 写入日志的文件。默认为
django_queries.jsonl
- SQLLOG_LOG_POST 记录
request.POST
数据。默认为False
- SQLLOG_LOG_META 记录
request.META
数据。默认为False
无法JSON序列化的任何输出将呈现为<not serializable>
项目详情
关闭
django-sql-log-middleware-0.1.8.tar.gz 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 0acaed1027e1392fe7bca998dd2b922e432c060fac62ec5b48a5f0a50510e578 |
|
MD5 | 4f2a9348e91ba2e76da4f18c0f6eb2c4 |
|
BLAKE2b-256 | 7640b51f2ccbcb1415a755031871ccbe30da6fdef210927c4a542a8553ee2894 |
关闭
django_sql_log_middleware-0.1.8-py3-none-any.whl 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 95a05c1243b6e28caf1941b32c37ee1187743f190f0ed159ad4c2cc59ea6c9b1 |
|
MD5 | 51019c55771f5ff83171527e63471450 |
|
BLAKE2b-256 | 7687841571c0d4df261ca3a6a47cb0bb76edaef56cdc80c7d01484985748363d |