# utils/stats_logger.py import os import csv from datetime import datetime def log_menu_stats(user_id: str, main_menu: str, sub_menu: str = ""): """Записывает действие пользователя в лог статистики динамически в зависимости от среды""" try: # Динамически определяем корень проекта (на один уровень выше папки utils) base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) log_dir = os.path.join(base_dir, "logs") os.makedirs(log_dir, exist_ok=True) log_file = os.path.join(log_dir, "menu_stats.csv") file_exists = os.path.isfile(log_file) timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S") with open(log_file, "a", newline="", encoding="utf-8-sig") as f: writer = csv.writer(f, delimiter=";") if not file_exists: writer.writerow(["Timestamp", "User_ID", "Main_Menu", "Sub_Menu"]) writer.writerow([timestamp, user_id, main_menu, sub_menu]) except Exception as e: print(f"Ошибка записи статистики меню: {e}")