Skip to content
This repository has been archived by the owner on Dec 13, 2021. It is now read-only.
/ django-js-logger Public archive

Simple Django app for forwarding console logs and console errors to dedicated Django loggers

License

Notifications You must be signed in to change notification settings

snok/django-js-logger

Repository files navigation

Django Javascript Logger ✏

Package version Supported Python versions Supported Django versions 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:

flowchart

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>
    

About

Simple Django app for forwarding console logs and console errors to dedicated Django loggers

Resources

License

Stars

Watchers

Forks

Packages

No packages published