Logger Objects¶
Create and configure logger objects for modular logging throughout your application.
Creating Loggers¶
Create named loggers for different modules.
import logging
# Get loggers for different modules
logger_app = logging.getLogger('app')
logger_db = logging.getLogger('app.database')
logger_api = logging.getLogger('app.api')
# Loggers have hierarchical names
print(f"App logger: {logger_app.name}")
print(f"DB logger: {logger_db.name}")
print(f"API logger: {logger_api.name}")
App logger: app
DB logger: app.database
API logger: app.api
Logger Configuration¶
Configure individual loggers with handlers and formatters.
import logging
# Create logger
logger = logging.getLogger('myapp')
logger.setLevel(logging.DEBUG)
# Remove existing handlers
logger.handlers.clear()
# Create handler
handler = logging.StreamHandler()
handler.setLevel(logging.DEBUG)
# Create formatter
fmt = logging.Formatter('%(name)s - %(levelname)s - %(message)s')
handler.setFormatter(fmt)
# Add handler to logger
logger.addHandler(handler)
# Log messages
logger.info("Starting application")
logger.debug("Debug info")
myapp - INFO - Starting application
myapp - DEBUG - Debug info