From 27d56b82750ca8af30f2719656d7ab3f291c596c Mon Sep 17 00:00:00 2001 From: Wong Yiek Heng Date: Sat, 4 Oct 2025 11:10:57 +0800 Subject: [PATCH] + Update transfer bot logging --- cm_transfer_credit.py | 44 ++++++++----------------------------------- 1 file changed, 8 insertions(+), 36 deletions(-) diff --git a/cm_transfer_credit.py b/cm_transfer_credit.py index c185948..09b2013 100644 --- a/cm_transfer_credit.py +++ b/cm_transfer_credit.py @@ -4,33 +4,6 @@ from concurrent.futures import ThreadPoolExecutor from datetime import datetime import os -# Configure logging with time-based file rotation -log_dir = "logs" -if not os.path.exists(log_dir): - os.makedirs(log_dir) - -# Create logger -logger = logging.getLogger(__name__) -logger.setLevel(logging.INFO) - -# Create formatter -formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") - -# Create file handler with time-based filename -log_filename = os.path.join(log_dir, f"transfer_credit_{datetime.now().strftime('%Y%m%d')}.log") -file_handler = logging.FileHandler(log_filename) -file_handler.setLevel(logging.INFO) -file_handler.setFormatter(formatter) - -# Create console handler -console_handler = logging.StreamHandler() -console_handler.setLevel(logging.INFO) -console_handler.setFormatter(formatter) - -# Add handlers to logger -logger.addHandler(file_handler) -logger.addHandler(console_handler) - # Suppress httpx logs logging.getLogger("httpx").setLevel(logging.WARNING) @@ -38,11 +11,11 @@ logging.getLogger("httpx").setLevel(logging.WARNING) api_url = 'http://api-server:3000' max_threading = 1 -def transfer(data: dict): +def transfer(data: dict, local_logger): bot = CM_BOT_HAL() - logger.info(f"[Start] Transfer Credit from {data['f_username']} to {data['t_username']}") + local_logger.info(f"[Start] Transfer Credit from {data['f_username']} to {data['t_username']}") bot.transfer_credit_api(data['f_username'], data['f_password'], data['t_username'], data['t_password']) - logger.info(f"[DONE] {data['f_username']} transfer done!") + local_logger.info(f"[Done] {data['f_username']} transfer done!") del bot time.sleep(0.5) @@ -51,16 +24,15 @@ while True: hour = int(datetime.now().strftime("%H")) minutes = int(datetime.now().strftime("%M")) if weekday == 1 and (hour >= 6 and hour < 13): - local_logger = logging.getLogger(f"{__name__}.saturday_processing") - local_logger.info("Starting Saturday transfer processing") + local_logger = logging.getLogger(f"{__name__}") response = requests.get(f'{api_url}/user') items = json.loads(response.text) total_items = len(items) if isinstance(items, list) else 0 if total_items == 0: - logger.info("No items to process.") + local_logger.info("No items to process.") else: - logger.info(f"Processing {total_items} transfer items...") + local_logger.info(f"Processing {total_items} transfer items...") with ThreadPoolExecutor(max_workers=max_threading) as executor: - results = list(executor.map(transfer, items)) - logger.info(f"Completed processing {total_items} transfer items.") + results = list(executor.map(lambda item: transfer(item, local_logger), items)) + local_logger.info(f"Completed processing {total_items} transfer items.") time.sleep(1)