Using highlight.io with Python Django
Make sure that you followed the fullstack mapping guide.
H.init("<YOUR_PROJECT_ID>", {
tracingOrigins: ['localhost', 'example.myapp.com/backend'],
networkRecording: {
enabled: true,
recordHeadersAndBody: true,
},
});
Download the package from pypi and save it to your requirements. If you use a zip or s3 file upload to publish your function, you will want to make sure highlight-io
is part of the build.
poetry add highlight-io[Django]
# or with pip
pip install highlight-io[Django]
Add Highlight with the Django integration to your settings.py
file.
import highlight_io
from highlight_io.integrations.django import DjangoIntegration
H = highlight_io.H("YOUR_PROJECT_ID", integrations=[DjangoIntegration()], record_logs=True)
Check that your installation is valid by throwing an error. Change one of your Django views to the following code which will throw an exception. Access the Django route in your browser. You should see a DivideByZero
error in the Highlight errors page within a few moments.
import logging
import random
from django.http import HttpResponse, HttpRequest
def index(request: HttpRequest):
return HttpResponse(f"This might not go well. result is {2 / 0}")
With the Python SDK, your logs are reported automatically from the builtin logging methods (as long as record_logs=True
is provided to the highlight_io.H
constructor). Visit the highlight logs portal and check that backend logs are coming in.