Introduction to Fastlogger
Fastlogger is a high-performance logging library designed to deliver efficient and flexible logging solutions for your modern applications. It caters to various logging requirements, offering dozens of useful APIs to handle different log levels, formats, and outputs.
Basic Setup
The following code snippet demonstrates how to set up Fastlogger in your project:
import fastlogger # Initialize logger logger = fastlogger.get_logger("my_logger") logger.set_level(fastlogger.INFO) # Log basic messages logger.info("This is an info message") logger.warning("This is a warning message") logger.error("This is an error message")
Advanced Configuration
Fastlogger provides several APIs to customize the logger behavior. Here are some advanced configurations you can use:
# Set logging format logger.set_format("%(asctime)s - %(name)s - %(levelname)s - %(message)s") # Add file handler file_handler = fastlogger.FileHandler("app.log") logger.add_handler(file_handler) # Add stream handler for console output stream_handler = fastlogger.StreamHandler() logger.add_handler(stream_handler)
Logging Exceptions
Fastlogger makes it easy to log exceptions using the log_exception method:
try: 1 / 0 except ZeroDivisionError as e: logger.log_exception("An error occurred", e)
Custom Log Levels
Fastlogger allows you to define your own custom log levels:
fastlogger.add_level("TRACE", 5) logger.trace("This is a trace message")
Creating an Application with Fastlogger
Below is an example of a simple application that uses various Fastlogger features:
import fastlogger import time # Initialize the logger app_logger = fastlogger.get_logger("app_logger") app_logger.set_level(fastlogger.DEBUG) app_logger.set_format("%(asctime)s - %(name)s - %(levelname)s - %(message)s") # Adding handlers file_handler = fastlogger.FileHandler("application.log") stream_handler = fastlogger.StreamHandler() app_logger.add_handler(file_handler) app_logger.add_handler(stream_handler) # Sample function to simulate application process def process_data(): app_logger.debug("Starting data processing") try: result = 10 / 2 app_logger.info(f"Processing result: {result}") except Exception as ex: app_logger.log_exception("Failed to process data", ex) # Main application execution if __name__ == "__main__": app_logger.info("Application started") process_data() app_logger.info("Application finished") app_logger.debug("Ending application run") # Simulate a delay time.sleep(2) app_logger.info("Long running operation complete")