Introduction

Logging is an important aspect of software development. It allows you to capture and record information about the execution of your code. Python provides a built-in logging module that makes it easy to implement logging in your applications. In this guide, we'll explore both basic and advanced configuration of Python logging, including sample code to illustrate their usage.


Basic Logging Configuration

Let's start with basic logging configuration using Python's built-in logging module.


1. Import the Logging Module

import logging

2. Configure Logging

# Set the logging level
logging.basicConfig(level=logging.DEBUG)
# Create a logger
logger = logging.getLogger('my_logger')
# Log messages
logger.debug('This is a debug message')
logger.info('This is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')

Advanced Logging Configuration

Advanced logging configuration allows you to customize log formatting, log destinations, and more.


1. Advanced Configuration

import logging
# Create a logger
logger = logging.getLogger('my_logger')
# Create a file handler and set the log level
file_handler = logging.FileHandler('my_log.log')
file_handler.setLevel(logging.DEBUG)
# Create a console handler and set the log level
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.WARNING)
# Create a log formatter
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)
console_handler.setFormatter(formatter)
# Add handlers to the logger
logger.addHandler(file_handler)
logger.addHandler(console_handler)
# Log messages
logger.debug('This is a debug message')
logger.info('This is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')

Conclusion

Python's logging module is a powerful tool for capturing and recording information about the execution of your code. By mastering both basic and advanced logging configurations, you can efficiently monitor and troubleshoot your applications, making them more robust and maintainable.