Random Log Configuration with Loguru

  • Share this:

Code introduction


The code generates a random log configuration based on Loguru, including log level, rotation, retention policy, backtrace, and log format, and outputs log messages of different levels.


Technology Stack : The package and technology stack used in the code include Loguru

Code Type : Function

Code Difficulty : Advanced


                
                    
import random
import loguru
from loguru import logger

def random_logger_config():
    log_level = random.choice(["INFO", "DEBUG", "WARNING", "ERROR", "CRITICAL"])
    rotation = random.choice(["500 MB", "1 week", "1 month", "1 year"])
    retention = random.choice(["30 days", " forever", "10 rotations"])
    backtrace = random.choice([True, False])
    format = "<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level: <8}</level> | <cyan>{name}</cyan> | <yellow>{function}</yellow> | <message>"
    logger.remove()
    logger.add("logs/app.log", rotation=rotation, retention=retention, backtrace=backtrace, level=log_level, format=format)

def generate_report():
    random_logger_config()
    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")