Skip to content
This repository has been archived by the owner on Dec 13, 2021. It is now read-only.

Latest commit

 

History

History
84 lines (59 loc) · 3.25 KB

README.rst

File metadata and controls

84 lines (59 loc) · 3.25 KB

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>