django-activity-audit 1.3.0.dev21__tar.gz → 1.3.0.dev22__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/PKG-INFO +1 -1
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/config.py +2 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/shared_processors.py +71 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/pyproject.toml +1 -1
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/.claude/settings.local.json +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/.gitignore +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/.pre-commit-config.yaml +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/LICENSE +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/MANIFEST.in +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/README.md +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/README.rst +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/__init__.py +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/apps.py +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/constants.py +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/formatters.py +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/handlers.py +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/logger_levels.py +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/middleware.py +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/protocols.py +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/settings.py +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/signals.py +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/unregistered.py +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/utils.py +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/docs/django-activity-audit.md +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/docs/hipaa-audit-gaps.md +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/docs/improvements.md +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/docs/structlog-integration.md +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/docs/user-activity-feed-plan.md +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/hatch +0 -0
- {django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/pytest.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: django-activity-audit
|
|
3
|
-
Version: 1.3.0.
|
|
3
|
+
Version: 1.3.0.dev22
|
|
4
4
|
Summary: A Django package for easy CRUD operation logging and container logs
|
|
5
5
|
Project-URL: Homepage, https://github.com/shree256/django-activity-audit
|
|
6
6
|
Project-URL: Repository, https://github.com/shree256/django-activity-audit
|
{django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/config.py
RENAMED
|
@@ -4,6 +4,7 @@ from activity_audit.shared_processors import (
|
|
|
4
4
|
_json_default,
|
|
5
5
|
_orjson_dumps,
|
|
6
6
|
shared_processors,
|
|
7
|
+
trim_log_fields,
|
|
7
8
|
)
|
|
8
9
|
|
|
9
10
|
|
|
@@ -46,6 +47,7 @@ def get_stdlib_formatter() -> dict:
|
|
|
46
47
|
"()": structlog.stdlib.ProcessorFormatter,
|
|
47
48
|
"processors": [
|
|
48
49
|
structlog.stdlib.ProcessorFormatter.remove_processors_meta,
|
|
50
|
+
trim_log_fields,
|
|
49
51
|
structlog.processors.JSONRenderer(
|
|
50
52
|
serializer=_orjson_dumps, default=_json_default
|
|
51
53
|
),
|
|
@@ -82,6 +82,77 @@ def _add_log_type(logger, method, event_dict):
|
|
|
82
82
|
return event_dict
|
|
83
83
|
|
|
84
84
|
|
|
85
|
+
_APP_FIELDS = frozenset(
|
|
86
|
+
{
|
|
87
|
+
"timestamp",
|
|
88
|
+
"level",
|
|
89
|
+
"name",
|
|
90
|
+
"message",
|
|
91
|
+
"log_type",
|
|
92
|
+
"filename",
|
|
93
|
+
"func_name",
|
|
94
|
+
"request_id",
|
|
95
|
+
"exception",
|
|
96
|
+
"extra",
|
|
97
|
+
}
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
_AUDIT_FIELDS = frozenset(
|
|
101
|
+
{
|
|
102
|
+
"timestamp",
|
|
103
|
+
"level",
|
|
104
|
+
"name",
|
|
105
|
+
"message",
|
|
106
|
+
"log_type",
|
|
107
|
+
"model",
|
|
108
|
+
"event_type",
|
|
109
|
+
"request_id",
|
|
110
|
+
"instance_id",
|
|
111
|
+
"instance_repr",
|
|
112
|
+
"user_id",
|
|
113
|
+
"user_info",
|
|
114
|
+
"extra",
|
|
115
|
+
}
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
_API_FIELDS = frozenset(
|
|
119
|
+
{
|
|
120
|
+
"timestamp",
|
|
121
|
+
"level",
|
|
122
|
+
"name",
|
|
123
|
+
"message",
|
|
124
|
+
"log_type",
|
|
125
|
+
"service_name",
|
|
126
|
+
"request_type",
|
|
127
|
+
"protocol",
|
|
128
|
+
"request_id",
|
|
129
|
+
"user_id",
|
|
130
|
+
"user_info",
|
|
131
|
+
"request_repr",
|
|
132
|
+
"response_repr",
|
|
133
|
+
"error_message",
|
|
134
|
+
"execution_time",
|
|
135
|
+
"extra",
|
|
136
|
+
}
|
|
137
|
+
)
|
|
138
|
+
|
|
139
|
+
_FIELDS_BY_LOG_TYPE = {
|
|
140
|
+
LogType.APP: _APP_FIELDS,
|
|
141
|
+
LogType.CELERYBEAT: _APP_FIELDS,
|
|
142
|
+
LogType.CELERYWORKER: _APP_FIELDS,
|
|
143
|
+
LogType.AUDIT: _AUDIT_FIELDS,
|
|
144
|
+
LogType.API: _API_FIELDS,
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
def trim_log_fields(logger, method, event_dict):
|
|
149
|
+
"""Keep only the required fields for each log type."""
|
|
150
|
+
allowed = _FIELDS_BY_LOG_TYPE.get(event_dict.get("log_type"))
|
|
151
|
+
if allowed is not None:
|
|
152
|
+
return {k: v for k, v in event_dict.items() if k in allowed}
|
|
153
|
+
return event_dict
|
|
154
|
+
|
|
155
|
+
|
|
85
156
|
_STANDARD_KEYS = frozenset(
|
|
86
157
|
{
|
|
87
158
|
"timestamp",
|
{django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/.claude/settings.local.json
RENAMED
|
File without changes
|
|
File without changes
|
{django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/.pre-commit-config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/__init__.py
RENAMED
|
File without changes
|
{django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/apps.py
RENAMED
|
File without changes
|
{django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/constants.py
RENAMED
|
File without changes
|
{django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/formatters.py
RENAMED
|
File without changes
|
{django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/handlers.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/middleware.py
RENAMED
|
File without changes
|
{django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/protocols.py
RENAMED
|
File without changes
|
{django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/settings.py
RENAMED
|
File without changes
|
{django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/signals.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/activity_audit/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/docs/hipaa-audit-gaps.md
RENAMED
|
File without changes
|
{django_activity_audit-1.3.0.dev21 → django_activity_audit-1.3.0.dev22}/docs/improvements.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|