I've added the following logging configuration to my Django App's settings.py
file:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'class': 'logging.StreamHandler',
},
},
'loggers': {
'django': {
'handlers': ['console'],
'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'),
},
},
}
Now, I simply want to add some custom log records to one of my views in views.py
, but it appears the logger is NOTSET
, which means only levels of warning
and higher are logged:
import logging
from django.http import JsonResponse
logger = logging.getLogger(__name__)
def testing(request):
logger.info("Doesn't show...")
logger.warning(f"Log Level: {logger.level} = {logging.getLevelName(logger.level)}")
return JsonResponse({"Hello": "World"})
The snippet above logs the following:
Log Level: 0 = NOTSET
Am I doing something wrong? Why is the logger's level not set (even though I clearly set it in settings.py
)?
The logging.getLogger(__name__)
statement will initialize a python logger with a dotted path to the current module. In your case, it would be my_app.views
. Django is not able to understand the logs that you have created from the views.py
since your logger name my_app.views
which is not listed in settings.py
. Django won't do anything to the logs if you are not specified the logger name/ logger-name pattern accordingly.
warning
logs are displayed?I hope this So post this explains well, Python logging not outputting anything
change either your logger name in settings.py
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'class': 'logging.StreamHandler',
},
},
'loggers': {
'my_app.views': {
'handlers': ['console'],
'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'),
},
},
}
Key Change: I have changed the logger name django
to my_app.views
Specify logger name in the getLogger
method
logger = logging.getLogger('django')
Key Point: The name of the logger and the logger defined in the Django Settings module should be same.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With