diff --git a/src/g5505_utils.py b/src/g5505_utils.py index ce4ce46..493d778 100644 --- a/src/g5505_utils.py +++ b/src/g5505_utils.py @@ -2,6 +2,33 @@ import pandas as pd import os import shutil import datetime +import logging + +def setup_logging(log_dir, log_filename): + """Sets up logging to a specified directory and file. + + Parameters: + log_dir (str): Directory to save the log file. + log_filename (str): Name of the log file. + """ + # Ensure the log directory exists + os.makedirs(log_dir, exist_ok=True) + + # Create a logger instance + logger = logging.getLogger() + logger.setLevel(logging.INFO) + + # Create a file handler + log_path = os.path.join(log_dir, log_filename) + file_handler = logging.FileHandler(log_path) + + # Create a formatter and set it for the handler + formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') + file_handler.setFormatter(formatter) + + # Add the handler to the logger + logger.addHandler(file_handler) + def is_callable_list(x : list): return all([callable(item) for item in x])