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
Hashes for django-logger-panel-0.1.6.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | df128609ec9851025b71adadfe3008bc8307e011076b803d8714ef848b3d4f76 |
|
MD5 | 96dd0fd6f4a36bc44b2295c68a0366dc |
|
BLAKE2b-256 | 3eadc0e4e878265d60edae1165b7df911272f6be3ba34811520662f5076205c7 |
Hashes for django_logger_panel-0.1.6-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c19d10707dc1bdbb81ae8661b3f2a7532da410480a1dac9307baf89aa36e6fc |
|
MD5 | 57722252a5ad4d79db5f1475ba82ba87 |
|
BLAKE2b-256 | e71327d839797f64f7ca3d27d97bd39dbbc14df04262644048906bbbc4e7749c |