Проєкт було вдосконалено з комплексною системою логування та розширеними адміністративними функціями для кращого моніторингу та управління ботом.
Система створює окремі лог файли для різних типів подій:
logs/general.log- Загальні логи системи (10MB, 5 резервних копій)logs/errors.log- Логи помилок (5MB, 3 резервні копії)logs/admin.log- Логи адміністративних дій (5MB, 3 резервні копії)logs/users.log- Логи дій користувачів (10MB, 5 резервних копій)
Всі дії користувачів та адміністраторів автоматично логуються через middleware:
- Повідомлення користувачів
- Callback запити
- Помилки в обробниках
- Системні події
from app.services.logger import (
log_user_action, # Логування дій користувачів
log_admin_action, # Логування адміністративних дій
log_error, # Логування помилок
log_system_event, # Логування системних подій
get_log_files, # Отримання списку лог файлів
get_log_content # Читання вмісту лог файлів
)- 👥Користувачі - Меню управління користувачами
- 📋Логи - Меню перегляду логів
- 🔍Пошук користувача - Прямий пошук користувачів
- Всі користувачі - Список всіх зареєстрованих користувачів
- Останні користувачі - Останні 10 зареєстрованих користувачів
- Топ користувачі - Топ 10 користувачів за кількістю активів
- ID користувача
- Кількість активів та правильних відповідей
- Кількість записів у базі даних
- Статистика по статусах
- Статистика по конкурентах
- Останні записи користувача
- Пряме посилання на профіль користувача
- Пошук за ID користувача
- Пошук за іменем або частиною імені
- Автоматичне відображення деталей при знаходженні одного користувача
- Загальна кількість користувачів
- Користувачі з активовами
- Користувачі з правильними активовами
- Загальна кількість записів
- Розподіл по статусах
- Розподіл по конкурентах
- Список лог файлів з розміром та датою модифікації
- Перегляд вмісту лог файлів (останні 50 рядків)
- Завантаження логів як файлів для детального аналізу
- Загальні логи - Всі системні події
- Логи помилок - Помилки та винятки
- Адміністративні логи - Дії адміністраторів
- Логи користувачів - Дії звичайних користувачів
class LoggingMiddleware(BaseMiddleware):
"""Автоматичне логування всіх дій користувачів"""app/services/logger.py- Система логуванняapp/services/user_management.py- Управління користувачами
Розширені запити для отримання статистики та інформації про користувачів.
Перегляд користувачів:
- Натисніть "👥Користувачі"
- Оберіть потрібну опцію з меню
Перегляд логів:
- Натисніть "📋Логи"
- Оберіть лог файл для перегляду
- Використовуйте "📥 Завантажити всі логи" для експорту
Пошук користувача:
- Натисніть "🔍Пошук користувача"
- Введіть ID або ім'я користувача
Додавання логування до нових функцій:
from app.services.logger import log_user_action, log_admin_action
# Логування дії користувача
log_user_action(user_id, username, "action description")
# Логування адміністративної дії
log_admin_action(admin_id, "action description", "additional details")Обробка помилок:
from app.services.logger import log_error
try:
# код
except Exception as e:
log_error(e, "context description")Система дозволяє:
- Відстежувати активність користувачів
- Моніторити помилки в реальному часі
- Аналізувати статистику використання
- Контролювати адміністративні дії
- Доступ до адміністративних функцій обмежений списком
ADMIN_ID - Всі адміністративні дії логуються
- Логи містять детальнька типів логів (errors, users, admin, general) ✅ різні об’єкти логів і рівні важливості у інформацію про дії користувачів
- Експорт статистики в Excel/CSV
- Графіки та діаграми статистики
- Система сповіщень про критичні події