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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|