Random Logger Configuration with Loguru

  • Share this:

Code introduction


This function uses the Loguru library to randomly configure a logger with settings such as log level, name, retention time, and rotation strategy, and generates log entries of different levels.


Technology Stack : Loguru library, random configuration, logger setup, log levels, retention, rotation, logging

Code Type : Function

Code Difficulty : Advanced


                
                    
def random_loguru_usage():
    import random
    import loguru
    from loguru import logger

    # Generate a random logger configuration
    level = random.choice(["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"])
    name = f"logger_{random.randint(1000, 9999)}"
    retention = random.choice(["1 week", "1 month", "1 year", "forever"])
    rotation = random.choice([None, "1 week", "1 month", "1 year"])

    # Set up the logger
    logger.remove()
    logger.add(
        name,
        level=level,
        rotation=rotation,
        retention=retention,
        enqueue=True,
        backtrace=True,
        diagnose=True
    )

    # Generate some log entries
    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.")

    # Return the logger configuration
    return {
        "level": level,
        "name": name,
        "retention": retention,
        "rotation": rotation
    }

# Example usage
logger_config = random_loguru_usage()
print(logger_config)