Random Loguru Feature Demonstrator

  • Share this:

Code introduction


This code defines a function that randomly selects a feature from the Loguru library. Depending on the selected feature, the function can colorize logs, format logs, set log levels, use log rotation, or add a log sink.


Technology Stack : Loguru

Code Type : Function

Code Difficulty : Intermediate


                
                    
import random
import loguru

def random_loguru_function():
    # Randomly select a feature from Loguru
    features = ["colorize", "format", "level", "rotation", "sink"]
    selected_feature = random.choice(features)
    
    # Construct a function based on the selected feature
    if selected_feature == "colorize":
        def func(message):
            return loguru.colorize(message, style="bold", fore="green")
    elif selected_feature == "format":
        def func(message):
            return loguru.format(message, style="{time} {level} - {message}")
    elif selected_feature == "level":
        def func(message):
            return loguru.level(message, level="INFO")
    elif selected_feature == "rotation":
        loguru rotation feature is used to rotate logs, so we'll create a simple function to demonstrate its use.
        def func(message):
            loguru.logger.add("logs/myapp.log", rotation="1 week")
            loguru.logger.info(message)
    elif selected_feature == "sink":
        def func(message):
            loguru.logger.add("logs/myapp.log")
            loguru.logger.info(message)
    
    return func

# Usage of the function
log_message = "This is a log message"
print(random_loguru_function()(log_message))                
              
Tags: