Skip to main content

Frontend logging for Django projects

Project description

https://img.shields.io/pypi/v/django-js-logger.svg https://img.shields.io/pypi/pyversions/django-js-logger.svg https://img.shields.io/pypi/djversions/django-js-logger.svg Code coverage Pre-commit enabled Code style black Checked with mypy

This is a very simple Django app for forwarding console logs and console errors to dedicated Django loggers.

Useful for catching Javascript errors that are not logged by Django natively and would otherwise only be logged to the client’s console. Can be particularly useful if you have JavaScript running on top of our server-side rendered views.

The app works by posting all relevant events to an internal Django API, which logs them to one of two loggers. Not sure what impact this has on an apps performance, but it likely should not run anywhere near performance-sensitive production environments. Primarily this is intended to be a debugging aid.

A flowchart of the app’s structure looks something like this:

docs/img/flowchart.png

The package is open to contributions.

Installation

Installing with pip:

pip install django-js-logger

Installing with poetry:

poetry add django-js-logger

Quick start

  1. Add django_js_logger to your INSTALLED_APPS settings:

    INSTALLED_APPS = [
        ...
        'django_js_logger',
    ]
  2. Include the packages URLconf in your project urls.py like this:

    path('js-logs/', include('django_js_logger.urls')),
  3. Optionally, specify your logging preferences by adding JS_LOGGER to your settings:

    JS_LOGGER = {
        'CONSOLE_LOG_LEVEL': 'INFO',
        'CONSOLE_ERROR_LEVEL': 'WARNING'
    }
  4. Add the required static file to your project by running manage.py collectstatic. This should add a folder, django_js_logger with the file logger.js. If this is not the case, you can copy the file manually from the demo project above.

  5. Import logger.js in the views you wish to log from by adding a JS import to your templates:

    <script src="static/django_js_logger/logger.js"></script>

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

django-js-logger-1.0.0.tar.gz (5.3 kB view hashes)

Uploaded Source

Built Distribution

django_js_logger-1.0.0-py3-none-any.whl (6.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page