A Django app for logging HTTP requests and responses
Project description
Django MTG RES is a reusable Django app for logging HTTP requests and responses. It provides a simple way to track API calls, debug issues, and maintain audit logs of external service interactions.
Features
Log HTTP requests and responses with full metadata
Support for different request/response formats (JSON, text, etc.)
Flexible reference system to link logs to specific objects
Safe error handling to prevent logging failures from breaking your app
Admin interface for viewing and managing logs
Quick start
Install django-mtg-res:
pip install django-mtg-res
Add “django_mtg_res” to your INSTALLED_APPS setting like this:
INSTALLED_APPS = [ ... 'django_mtg_res', ]Run migrations to create the RequestLog model:
python manage.py migrate
Start using the RequestLog model in your code:
from django_mtg_res.models import RequestLog import requests # Make an API call response = requests.get('https://api.example.com/data') # Log the request and response RequestLog.create_request_log( url='https://api.example.com/data', method='GET', request=None, # No request body for GET response=response, ref_obj='User', ref_id='123', remarks='Fetching user data' )
Usage Examples
Basic logging:
from django_mtg_res.models import RequestLog
# Log a simple request
RequestLog.create_request_log(
url='https://api.service.com/endpoint',
method='POST',
request={'key': 'value'},
response={'result': 'success'},
status_code=200
)
With reference objects:
# Log with reference to a specific model instance
RequestLog.create_request_log(
url='https://payment.service.com/charge',
method='POST',
request=payment_data,
response=payment_response,
ref_obj='Order',
ref_id=str(order.id),
remarks='Payment processing'
)
Safe logging (won’t raise exceptions):
# This will not raise exceptions even if logging fails
RequestLog.create_request_log(
url=api_url,
request=request_data,
response=response_data,
safely_create=True # Default is True
)
Admin Interface
The app includes Django admin integration. You can view and search request logs in the Django admin panel under “Request Logs”.
Requirements
Python >= 3.10
Django >= 4.0
requests >= 2.25.0
License
This project is licensed under the MIT License.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Support
If you encounter any issues or have questions, please open an issue on the project repository.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_mtg_res-0.1.2.tar.gz.
File metadata
- Download URL: django_mtg_res-0.1.2.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d016df662f9c91f87be264ead835e2dcf2be93aaa8ca00444026e6e49fdccd71
|
|
| MD5 |
ec5b79bf4cc6c2c08308e596ab2c0fea
|
|
| BLAKE2b-256 |
3efd973bc5352a97eefb6e347e34b0da4be8f9cb035f8f9b7880027b69580fb7
|
File details
Details for the file django_mtg_res-0.1.2-py3-none-any.whl.
File metadata
- Download URL: django_mtg_res-0.1.2-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d8ab2991650842d4f1d0e1594c633bd184a466fb3e016598bb04ed1b2bb8d03
|
|
| MD5 |
4ad10845324f4d40536eea805f5a9dfd
|
|
| BLAKE2b-256 |
1d0cf9c5525c1a53be74112f2888df9d05dd3acbf67022905a12371e0a8c71e0
|