Logging System
Python's logging module provides a flexible framework for emitting log messages from Python programs.
📦 Components
- logging.Logger - Main logger interface for applications
- logging.Handler - Base class for all logging handlers
- logging.Formatter - Format log records for output
- logging.Filter - Filter log records based on criteria
- logging.config - Configuration utilities for logging
🔍 Quick Reference
| Component | Purpose | Key Methods |
|---|---|---|
Logger | Emit log messages | debug(), info(), warning(), error(), critical() |
Handler | Route log records | emit(), handle(), setLevel() |
Formatter | Format log output | format(), formatTime() |
Filter | Filter log records | filter() |
🚀 Basic Usage
import logging
# Configure basic logging
logging.basicConfig(level=logging.INFO)
# Get a logger
logger = logging.getLogger(__name__)
# Log messages
logger.debug("Debug message")
logger.info("Info message")
logger.warning("Warning message")
logger.error("Error message")
logger.critical("Critical message")
📊 Log Levels
| Level | Numeric Value | When to Use |
|---|---|---|
CRITICAL | 50 | Serious errors, program may abort |
ERROR | 40 | Serious problems, but program continues |
WARNING | 30 | Something unexpected happened |
INFO | 20 | Confirmation that things work as expected |
DEBUG | 10 | Detailed information for diagnosing problems |