Custom Logger Example
A snippet showing how to create a custom logger in Django.
# settings.py
LOGGING = {
"version": 1,
"disable_existing_loggers": False,
"formatters": {
"verbose": {"format": "[{asctime}] {levelname} {name} - {message}", "style": "{"},
},
"handlers": {
"console": {"class": "logging.StreamHandler", "formatter": "verbose"},
},
"loggers": {
"shop.checkout": {
"handlers": ["console"],
"level": "DEBUG",
"propagate": False,
}
},
}
# views.py
import logging
logger = logging.getLogger("shop.checkout")
def place_order(request):
logger.debug("Starting checkout for user=%s", request.user.id)
# ...
logger.info("Order placed successfully")
Explanation:
-
Use dotted names (e.g.,
app.module) to create hierarchical logger trees. - Only messages from 'shop.checkout' use the configured handler/level.
- Reduce noise by scoping logs to app- or module-specific names.
- Category Logging
- Total Views 507
- Last Modified 02 June, 2026
- Tags #logging #custom #logger #debug
Previous snippet
Basic Logging Configuration
Next snippet