File size: 1,436 Bytes
ad5b376
 
6e50cd3
 
 
 
ad5b376
 
eeba311
ad5b376
eeba311
 
ad5b376
 
 
eeba311
 
6e50cd3
ad5b376
 
 
 
668a15e
eeba311
6e50cd3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
37
38
39
40
41
42
43
44
45
46
47
48
49
import logging

def setup_logger(name: str) -> logging.Logger:
    """
    Set up and return a logger with the specified name.
    """
    logger = logging.getLogger(name)
    if not logger.handlers:
        logger.setLevel(logging.INFO)  # Set to INFO to avoid DEBUG logs in production
        formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

        # Console handler
        console_handler = logging.StreamHandler()
        console_handler.setFormatter(formatter)
        logger.addHandler(console_handler)

        # File handler for errors (optional)
        # Uncomment the following lines to enable error logging to a file
        # error_file_handler = logging.FileHandler('error.log')
        # error_file_handler.setFormatter(formatter)
        # error_file_handler.setLevel(logging.ERROR)
        # logger.addHandler(error_file_handler)

    return logger

def log_info(logger: logging.Logger, message: str) -> None:
    """
    Log an informational message.
    """
    logger.info(message)

def log_error(logger: logging.Logger, message: str) -> None:
    """
    Log an error message.
    """
    logger.error(message)

def log_debug(logger: logging.Logger, message: str) -> None:
    """
    Log a debug message.
    """
    logger.debug(message)

def log_warning(logger: logging.Logger, message: str) -> None:
    """
    Log a warning message.
    """
    logger.warning(message)