Files
trueconf_bot/utils/stats_logger.py

24 lines
1.2 KiB
Python

# 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}")