Skip to main content

An easy way to change the log level in runtime.

Project description

pypi version license python versions Build Status Code coverage

django-logger-panel

An easy way to change the log level in runtime

Installation

pip install django-logger-panel

Features

  • List all active loggers .
  • Change any logger level in run time.
  • Change all logger levels at once.
  • Display logger information.

Settings.py

INSTALLED_APPS

Add loggerpanel to installed apps

INSTALLED_APPS = [
    ...
    'django_logger_panel',    
]

LOGGING

Make sure the root has a handler set at the LOGGING dictionary in settings.py, as described in the Django Documentation. This is the root logger configuration and will allow all loggers with no handler to inherit it from the root.

Example:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'console': {
            'format': '%(asctime)s %(levelname)-8s %(name)-12s %(message)s',
        },
    },
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
            'formatter': 'console',
        },
    },
    'root': {
        'level': 'DEBUG',
        'handlers': ['console'],
    },
}

LOGGER_PANEL_BASE_URL

Optionally, change the default base url /loggers/ by setting the property LOGGER_PANEL_BASE_URL. This variable is not required.

LOGGER_PANEL_BASE_URL = "/another-path/"

urls.py

Add the django_logger_panel.urls to the urlpatterns.

urlpatterns = [
    ...
    path("", include("django_logger_panel.urls")),
    ...

]

Screenshots

Logger Panel

logger panel

Logger Details

logger details

REST API

List loggers

Curl Example:

curl http://localhost:8000/loggers/ -H 'Accept:application/json'

Response:

{
  "log_levels": {
    "CRITICAL": 50,
    "ERROR": 40,
    "WARNING": 30,
    "INFO": 20,
    "DEBUG": 10,
    "NOTSET": 0
  },
  "loggers": [
    {
      "name": "_all_loggers_",
      "level": {
        "code": 0,
        "name": "NOTSET"
      },
      "effectiveLevel": {
        "code": 0,
        "name": "NOTSET"
      },
      "parent": null
    },
    {
      "name": "root",
      "level": {
        "code": 30,
        "name": "WARNING"
      },
      "effectiveLevel": {
        "code": 30,
        "name": "WARNING"
      },
      "parent": null
    },
    {
      "name": "django",
      "level": {
        "code": 20,
        "name": "INFO"
      },
      "effectiveLevel": {
        "code": 20,
        "name": "INFO"
      },
      "parent": "root"
    },
    {
      "name": "django.db.backends",
      "level": {
        "code": 0,
        "name": "NOTSET"
      },
      "effectiveLevel": {
        "code": 20,
        "name": "INFO"
      },
      "parent": "django"
    },
    {
      "name": "django.request",
      "level": {
        "code": 0,
        "name": "NOTSET"
      },
      "effectiveLevel": {
        "code": 20,
        "name": "INFO"
      },
      "parent": "django"
    },
    {
      "name": "django.server",
      "level": {
        "code": 20,
        "name": "INFO"
      },
      "effectiveLevel": {
        "code": 20,
        "name": "INFO"
      },
      "parent": "django"
    },
    {
      "name": "django.security.csrf",
      "level": {
        "code": 0,
        "name": "NOTSET"
      },
      "effectiveLevel": {
        "code": 20,
        "name": "INFO"
      },
      "parent": "django"
    },
    {
      "name": "django.db.backends.schema",
      "level": {
        "code": 0,
        "name": "NOTSET"
      },
      "effectiveLevel": {
        "code": 20,
        "name": "INFO"
      },
      "parent": "django.db.backends"
    }    
  ]
}

Return a single logger

Curl Example:

curl http://localhost:8000/loggers/django.db.backends -H 'Accept:application/json'

Response:

{
  "name": "django.db.backends",
  "level": {
    "code": 0,
    "name": "NOTSET"
  },
  "effectiveLevel": {
    "code": 20,
    "name": "INFO"
  },
  "parent": "django"
}

Change logger level

Curl Example:

curl -X POST http://localhost:8000/loggers/django.db.backends -d '{"logger_level": "DEBUG"}'

Response:

{
  "name": "django.db.backends",
  "level": {
    "code": 10,
    "name": "DEBUG"
  },
  "effectiveLevel": {
    "code": 10,
    "name": "DEBUG"
  },
  "parent": "django"
}

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-logger-panel-0.1.6.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

django_logger_panel-0.1.6-py2.py3-none-any.whl (16.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-logger-panel-0.1.6.tar.gz.

File metadata

  • Download URL: django-logger-panel-0.1.6.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.8.5

File hashes

Hashes for django-logger-panel-0.1.6.tar.gz
Algorithm Hash digest
SHA256 df128609ec9851025b71adadfe3008bc8307e011076b803d8714ef848b3d4f76
MD5 96dd0fd6f4a36bc44b2295c68a0366dc
BLAKE2b-256 3eadc0e4e878265d60edae1165b7df911272f6be3ba34811520662f5076205c7

See more details on using hashes here.

File details

Details for the file django_logger_panel-0.1.6-py2.py3-none-any.whl.

File metadata

  • Download URL: django_logger_panel-0.1.6-py2.py3-none-any.whl
  • Upload date:
  • Size: 16.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.8.5

File hashes

Hashes for django_logger_panel-0.1.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9c19d10707dc1bdbb81ae8661b3f2a7532da410480a1dac9307baf89aa36e6fc
MD5 57722252a5ad4d79db5f1475ba82ba87
BLAKE2b-256 e71327d839797f64f7ca3d27d97bd39dbbc14df04262644048906bbbc4e7749c

See more details on using hashes here.

Supported by

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