diff --git a/etl/hubspot_to_invoice_rewrite.py b/etl/hubspot_to_invoice_rewrite.py index 0c58a00..3404309 100644 --- a/etl/hubspot_to_invoice_rewrite.py +++ b/etl/hubspot_to_invoice_rewrite.py @@ -1,5 +1,10 @@ import os import pandas as pd +from etl.utils.logger import Logger +import logging + +logger = Logger(name="hubspot_to_invoice", level=logging.DEBUG).get_logger() + os.environ["SHAREPOINT_CLIENT_ID"] = "895e3b77-b1d7-43ec-b18f-dcfe07cdfeaf" os.environ["SHAREPOINT_CLIENT_SECRET"] = "SOf8Q~-is4wdQiqvEEm9FlJQRAY9ELGaj5Qz-a6E" os.environ["SHAREPOINT_TENANT_ID"] = "c3f7519c-2719-4547-af04-6da6cbfd8f8f" @@ -43,6 +48,7 @@ output_path = os.path.abspath(lewis_view) sp.upload_to_sharepoint(output_path, lewis_view) sp.upload_to_sharepoint(dbLoader.sp.get_master_rate_card_path(), "COPY_OF_RATE_CARD_USED.xlsx") +sp.upload_to_sharepoint("app.log", "debug.log") # Commented out as i don't want to sync up hubspot_to_db just yet diff --git a/etl/utils/logger.py b/etl/utils/logger.py index bb70887..3e89ac3 100644 --- a/etl/utils/logger.py +++ b/etl/utils/logger.py @@ -2,19 +2,32 @@ import logging import os class Logger: - def __init__(self, name, level=logging.INFO): + def __init__(self, name, level=logging.INFO, log_file='app.log'): self.logger = logging.getLogger(name) self.logger.setLevel(level) + self.log_file = log_file # ✅ Prevent adding multiple handlers if not self.logger.handlers: + # Console handler c_handler = logging.StreamHandler() c_handler.setLevel(level) + # File handler + f_handler = logging.FileHandler(log_file) + f_handler.setLevel(level) + + # Formatter formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') c_handler.setFormatter(formatter) + f_handler.setFormatter(formatter) + # Add handlers to the logger self.logger.addHandler(c_handler) + self.logger.addHandler(f_handler) def get_logger(self): - return self.logger \ No newline at end of file + return self.logger + + def get_log_file_path(self): + return self.log_file