File size: 940 Bytes
a32df36
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import logging
import os
import colorlog


def _create_logger():
    """
    Create a logger with colorized output
    Usage: LOG_LEVEL=DEBUG python <script.py>
    """

    handler = colorlog.StreamHandler()
    fmt = "%(log_color)s%(levelname)-8s%(reset)s [%(filename)s:%(lineno)d] %(message)s"
    handler.setFormatter(
        colorlog.ColoredFormatter(
            fmt=fmt,
            log_colors={
                "DEBUG": "blue",
                "INFO": "green",
                "WARNING": "yellow",
                "ERROR": "red",
                "CRITICAL": "red",
            },
        )
    )
    # Get log level from LOG_LEVEL environment variable
    log_level = os.getenv("LOG_LEVEL", "WARNING").upper()
    logger = colorlog.getLogger(__package__)
    logger.setLevel(level=getattr(logging, log_level, logging.WARNING))
    # Setup logging to stdout
    logger.addHandler(handler)
    return logger


log = _create_logger()