An easy way to change the log level in runtime.
Project description
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 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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | df128609ec9851025b71adadfe3008bc8307e011076b803d8714ef848b3d4f76 |
|
MD5 | 96dd0fd6f4a36bc44b2295c68a0366dc |
|
BLAKE2b-256 | 3eadc0e4e878265d60edae1165b7df911272f6be3ba34811520662f5076205c7 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c19d10707dc1bdbb81ae8661b3f2a7532da410480a1dac9307baf89aa36e6fc |
|
MD5 | 57722252a5ad4d79db5f1475ba82ba87 |
|
BLAKE2b-256 | e71327d839797f64f7ca3d27d97bd39dbbc14df04262644048906bbbc4e7749c |