acmc.logging_config

logging_config.py

This module defines functions to setup logging for acmc across all module.

 1"""
 2logging_config.py
 3
 4This module defines functions to setup logging for acmc across all module. 
 5
 6"""
 7
 8import pandas as pd
 9import logging
10
11DEFAULT_LOG_FILE = "acmc.log"
12"""The default acmc application log filename."""
13
14
15def setup_logger(log_level: int = logging.INFO):
16    """Sets up acmc logger as a singleton outputing to file and sysout syserr."""
17
18    # Create a logger
19    logger = logging.getLogger("acmc_logger")
20    logger.setLevel(logging.INFO)
21
22    if not logger.hasHandlers():
23        # Create a file handler that logs to a file
24        file_handler = logging.FileHandler(DEFAULT_LOG_FILE)
25        file_handler.setLevel(logging.INFO)
26
27        # Create a stream handler that prints to the console
28        stream_handler = logging.StreamHandler()
29        stream_handler.setLevel(logging.INFO)
30
31        # Create a formatter for how the log messages should look
32        # Add the formatter to both handlers
33        file_formatter = logging.Formatter(
34            "%(asctime)s - - %(levelname)s - %(message)s"
35        )
36        file_handler.setFormatter(file_formatter)
37        stream_formatter = logging.Formatter("[%(levelname)s] - %(message)s")
38        stream_handler.setFormatter(stream_formatter)
39
40        # Add the handlers to the logger
41        logger.addHandler(file_handler)
42        logger.addHandler(stream_handler)
43
44    return logger
45
46
47def set_log_level(log_level: int):
48    """Sets the log level for the acmc logger.
49
50    Args:
51        log_level (int): log level from the python logging libraru
52
53    """
54
55    logger = logging.getLogger("acmc_logger")
56    logger.setLevel(log_level)
57
58    # Also update handlers to match the new level
59    for handler in logger.handlers:
60        handler.setLevel(log_level)
DEFAULT_LOG_FILE = 'acmc.log'

The default acmc application log filename.

def setup_logger(log_level: int = 20):
16def setup_logger(log_level: int = logging.INFO):
17    """Sets up acmc logger as a singleton outputing to file and sysout syserr."""
18
19    # Create a logger
20    logger = logging.getLogger("acmc_logger")
21    logger.setLevel(logging.INFO)
22
23    if not logger.hasHandlers():
24        # Create a file handler that logs to a file
25        file_handler = logging.FileHandler(DEFAULT_LOG_FILE)
26        file_handler.setLevel(logging.INFO)
27
28        # Create a stream handler that prints to the console
29        stream_handler = logging.StreamHandler()
30        stream_handler.setLevel(logging.INFO)
31
32        # Create a formatter for how the log messages should look
33        # Add the formatter to both handlers
34        file_formatter = logging.Formatter(
35            "%(asctime)s - - %(levelname)s - %(message)s"
36        )
37        file_handler.setFormatter(file_formatter)
38        stream_formatter = logging.Formatter("[%(levelname)s] - %(message)s")
39        stream_handler.setFormatter(stream_formatter)
40
41        # Add the handlers to the logger
42        logger.addHandler(file_handler)
43        logger.addHandler(stream_handler)
44
45    return logger

Sets up acmc logger as a singleton outputing to file and sysout syserr.

def set_log_level(log_level: int):
48def set_log_level(log_level: int):
49    """Sets the log level for the acmc logger.
50
51    Args:
52        log_level (int): log level from the python logging libraru
53
54    """
55
56    logger = logging.getLogger("acmc_logger")
57    logger.setLevel(log_level)
58
59    # Also update handlers to match the new level
60    for handler in logger.handlers:
61        handler.setLevel(log_level)

Sets the log level for the acmc logger.

Arguments:
  • log_level (int): log level from the python logging libraru