diff --git a/backup.py b/backup.py index 5a0baa94..5c65b05d 100644 --- a/backup.py +++ b/backup.py @@ -7,6 +7,9 @@ from aiogram.types import BufferedInputFile from config import ADMIN_ID, BACK_DIR, DB_NAME, DB_PASSWORD, DB_USER +logging.basicConfig(level=logging.DEBUG) +logger = logging.getLogger(__name__) + async def backup_database(): from bot import bot @@ -24,9 +27,9 @@ async def backup_database(): ["pg_dump", "-U", USER, "-h", HOST, "-F", "c", "-f", BACKUP_FILE, DB_NAME], check=True, ) - logging.info(f"Бэкап базы данных создан: {BACKUP_FILE}") + logger.info(f"Бэкап базы данных создан: {BACKUP_FILE}") except subprocess.CalledProcessError as e: - logging.error(f"Ошибка при создании бэкапа базы данных: {e}") + logger.error(f"Ошибка при создании бэкапа базы данных: {e}") return try: @@ -35,9 +38,9 @@ async def backup_database(): backup_file.read(), filename=os.path.basename(BACKUP_FILE) ) await bot.send_document(ADMIN_ID, backup_input_file) - logging.info(f"Бэкап базы данных отправлен админу: {ADMIN_ID}") + logger.info(f"Бэкап базы данных отправлен админу: {ADMIN_ID}") except Exception as e: - logging.error(f"Ошибка при отправке бэкапа в Telegram: {e}") + logger.error(f"Ошибка при отправке бэкапа в Telegram: {e}") try: subprocess.run( @@ -57,8 +60,8 @@ async def backup_database(): ], check=True, ) - logging.info("Старые бэкапы удалены.") + logger.info("Старые бэкапы удалены.") except subprocess.CalledProcessError as e: - logging.error(f"Ошибка при удалении старых бэкапов: {e}") + logger.error(f"Ошибка при удалении старых бэкапов: {e}") del os.environ["PGPASSWORD"] diff --git a/client.py b/client.py index 9e151d23..af1c569f 100644 --- a/client.py +++ b/client.py @@ -4,6 +4,7 @@ import logging from config import SERVERS logging.basicConfig(level=logging.DEBUG) +logger = logging.getLogger(__name__) async def add_client( @@ -45,16 +46,16 @@ async def add_client( } async with session.post(url, json=data, headers=headers) as response: - logging.info(f"Запрос на добавление клиента: {data}") - logging.info(f"Статус ответа: {response.status}") + logger.info(f"Запрос на добавление клиента: {data}") + logger.info(f"Статус ответа: {response.status}") response_text = await response.text() - logging.info(f"Ответ от сервера: {response_text}") + logger.info(f"Ответ от сервера: {response_text}") if response.status == 200: - logging.info(f"Клиент добавлен: email={email}") + logger.info(f"Клиент добавлен: email={email}") return await response.json() else: - logging.error( + logger.error( f"Ошибка при добавлении клиента: {response.status}, {response_text}" ) return None @@ -68,21 +69,21 @@ async def extend_client_key( async with session.get( f"{api_url}/panel/api/inbounds/getClientTraffics/{email}" ) as response: - logging.info(f"GET {response.url} Status: {response.status}") + logger.info(f"GET {response.url} Status: {response.status}") response_text = await response.text() - logging.info(f"GET Response: {response_text}") + logger.info(f"GET Response: {response_text}") if response.status != 200: - logging.error( + logger.error( f"Ошибка при получении данных клиента: {response.status} - {response_text}" ) return False client_data = (await response.json()).get("obj", {}) - logging.info(client_data) + logger.info(client_data) if not client_data: - logging.error("Не удалось получить данные клиента.") + logger.error("Не удалось получить данные клиента.") return False current_expiry_time = client_data.get("expiryTime", 0) @@ -122,20 +123,20 @@ async def extend_client_key( json=payload, headers=headers, ) as response: - logging.info(f"POST {response.url} Status: {response.status}") - logging.info(f"POST Request Data: {json.dumps(payload, indent=2)}") + logger.info(f"POST {response.url} Status: {response.status}") + logger.info(f"POST Request Data: {json.dumps(payload, indent=2)}") response_text = await response.text() - logging.info(f"POST Response: {response_text}") + logger.info(f"POST Response: {response_text}") if response.status == 200: return True else: - logging.error( + logger.error( f"Ошибка при продлении ключа: {response.status} - {response_text}" ) return False except Exception as e: - logging.error(f"Ошибка запроса: {e}") + logger.error(f"Ошибка запроса: {e}") return False @@ -174,20 +175,20 @@ async def extend_client_key_admin( json=payload, headers=headers, ) as response: - logging.info(f"POST {response.url} Status: {response.status}") - logging.info(f"POST Request Data: {json.dumps(payload, indent=2)}") + logger.info(f"POST {response.url} Status: {response.status}") + logger.info(f"POST Request Data: {json.dumps(payload, indent=2)}") response_text = await response.text() - logging.info(f"POST Response: {response_text}") + logger.info(f"POST Response: {response_text}") if response.status == 200: return True else: - logging.error( + logger.error( f"Ошибка при продлении ключа: {response.status} - {response_text}" ) return False except Exception as e: - logging.error(f"Ошибка запроса: {e}") + logger.error(f"Ошибка запроса: {e}") return False @@ -201,10 +202,10 @@ async def delete_client(session, server_id: str, client_id: str) -> bool: if response.status == 200: return True else: - logging.error( + logger.error( f"Ошибка при удалении клиента: {response.status} - {await response.text()}" ) return False except Exception as e: - logging.error(f"Ошибка запроса: {e}") + logger.error(f"Ошибка запроса: {e}") return False diff --git a/handlers/admin/admin.py b/handlers/admin/admin.py index 3b74e059..7890d688 100644 --- a/handlers/admin/admin.py +++ b/handlers/admin/admin.py @@ -18,6 +18,7 @@ from database import ( from middlewares.admin import admin_only logging.basicConfig(level=logging.DEBUG) +logger = logging.getLogger(__name__) router = Router() @@ -82,7 +83,7 @@ async def cmd_update_key_expiry(message: types.Message): server_id, ADMIN_USERNAME, ADMIN_PASSWORD ) - logging.info( + logger.info( f"Попытка обновить панель для server_id: {server_id}, tg_id: {tg_id}, client_id: {client_id}, email: {email}, expiryTime: {expiry_time}" ) @@ -90,7 +91,7 @@ async def cmd_update_key_expiry(message: types.Message): session, server_id, tg_id, client_id, email, expiry_time ) - logging.info( + logger.info( f"Статус обновления панели: {'Успешно' if success else 'Не удалось'}" ) if success: diff --git a/handlers/admin/user_editor.py b/handlers/admin/user_editor.py index 495c6d37..79f2e1d3 100644 --- a/handlers/admin/user_editor.py +++ b/handlers/admin/user_editor.py @@ -16,9 +16,7 @@ from database import get_client_id_by_email, get_tg_id_by_client_id, update_key_ from handlers.admin.admin_panel import back_to_admin_menu from handlers.utils import sanitize_key_name -logging.basicConfig( - level=logging.DEBUG, format="%(asctime)s - %(levelname)s - %(message)s" -) +logging.basicConfig(level=logging.DEBUG) logger = logging.getLogger(__name__) router = Router() diff --git a/handlers/commands.py b/handlers/commands.py index efcd43e7..0b221eac 100644 --- a/handlers/commands.py +++ b/handlers/commands.py @@ -20,6 +20,7 @@ from handlers.start import start_command from handlers.texts import TRIAL logging.basicConfig(level=logging.DEBUG) +logger = logging.getLogger(__name__) router = Router() @@ -83,11 +84,11 @@ async def handle_send_trial_command(message: types.Message, state: FSMContext): await bot.send_message(chat_id=tg_id, text=trial_message) except Exception as e: if "Forbidden: bot was blocked by the user" in str(e): - logging.info( + logger.info( f"Бот заблокирован пользователем с tg_id: {tg_id}" ) else: - logging.error( + logger.error( f"Ошибка при отправке сообщения пользователю {tg_id}: {e}" ) @@ -133,13 +134,13 @@ async def process_message_to_all(message: types.Message, state: FSMContext): try: await bot.send_message(chat_id=tg_id, text=text_message) except Exception as e: - logging.error( + logger.error( f"Ошибка при отправке сообщения пользователю {tg_id}: {e}. Пропускаем этого пользователя." ) await message.answer("Сообщение было отправлено всем клиентам.") except Exception as e: - logging.error(f"Ошибка при подключении к базе данных: {e}") + logger.error(f"Ошибка при подключении к базе данных: {e}") await message.answer("Произошла ошибка при отправке сообщения.") finally: await conn.close() diff --git a/handlers/keys/key_management.py b/handlers/keys/key_management.py index 29563bf3..092088f3 100644 --- a/handlers/keys/key_management.py +++ b/handlers/keys/key_management.py @@ -39,9 +39,7 @@ from handlers.utils import sanitize_key_name router = Router() -logging.basicConfig( - level=logging.DEBUG, format="%(asctime)s - %(levelname)s - %(message)s" -) +logging.basicConfig(level=logging.DEBUG) logger = logging.getLogger(__name__) diff --git a/handlers/keys/keys.py b/handlers/keys/keys.py index b1d136e7..2d630365 100644 --- a/handlers/keys/keys.py +++ b/handlers/keys/keys.py @@ -40,9 +40,7 @@ locale.setlocale(locale.LC_TIME, "ru_RU.UTF-8") router = Router() -logging.basicConfig( - level=logging.DEBUG, format="%(asctime)s - %(levelname)s - %(message)s" -) +logging.basicConfig(level=logging.DEBUG) logger = logging.getLogger(__name__) diff --git a/handlers/keys/subscriptions.py b/handlers/keys/subscriptions.py index d1f44154..ae6e346e 100644 --- a/handlers/keys/subscriptions.py +++ b/handlers/keys/subscriptions.py @@ -6,9 +6,7 @@ from aiohttp import web from config import SERVERS -logging.basicConfig( - level=logging.DEBUG, format="%(asctime)s - %(levelname)s - %(message)s" -) +logging.basicConfig(level=logging.DEBUG) logger = logging.getLogger(__name__) diff --git a/handlers/keys/trial_key.py b/handlers/keys/trial_key.py index 4359431b..2e08f25c 100644 --- a/handlers/keys/trial_key.py +++ b/handlers/keys/trial_key.py @@ -13,6 +13,7 @@ from handlers.texts import INSTRUCTIONS from handlers.utils import generate_random_email logging.basicConfig(level=logging.DEBUG) +logger = logging.getLogger(__name__) async def create_trial_key(tg_id: int): @@ -74,7 +75,7 @@ async def generate_and_store_keys( tg_id, ) else: - logging.error("Не удалось создать ключ на одном или нескольких серверах.") + logger.error("Не удалось создать ключ на одном или нескольких серверах.") finally: await conn.close() diff --git a/handlers/notifications.py b/handlers/notifications.py index 03f25b4a..2d63e90d 100644 --- a/handlers/notifications.py +++ b/handlers/notifications.py @@ -18,7 +18,7 @@ from handlers.texts import ( RENEWAL_PLANS, ) -logging.basicConfig(level=logging.INFO) +logging.basicConfig(level=logging.DEBUG) logger = logging.getLogger(__name__) router = Router() diff --git a/handlers/payment/freekassa_pay.py b/handlers/payment/freekassa_pay.py index 86b819be..4f3d200e 100644 --- a/handlers/payment/freekassa_pay.py +++ b/handlers/payment/freekassa_pay.py @@ -18,6 +18,7 @@ from handlers.texts import PAYMENT_OPTIONS router = Router() logging.basicConfig(level=logging.DEBUG) +logger = logging.getLogger(__name__) class ReplenishBalanceState(StatesGroup): @@ -52,16 +53,16 @@ async def create_payment(user_id, amount, email, ip): ) response_data = response.json() - logging.debug(f"Ответ от FreeKassa при создании платежа: {response_data}") + logger.debug(f"Ответ от FreeKassa при создании платежа: {response_data}") if response_data.get("type") == "success": return response_data["location"] else: - logging.error(f"Ошибка создания платежа: {response_data}") + logger.error(f"Ошибка создания платежа: {response_data}") return None except Exception as e: - logging.error(f"Ошибка запроса к FreeKassa: {e}") + logger.error(f"Ошибка запроса к FreeKassa: {e}") return None @@ -72,14 +73,14 @@ async def send_payment_success_notification(user_id, amount): text=f"Ваш баланс успешно пополнен на {amount} рублей. Спасибо за оплату!", ) except Exception as e: - logging.error(f"Ошибка при отправке уведомления пользователю {user_id}: {e}") + logger.error(f"Ошибка при отправке уведомления пользователю {user_id}: {e}") async def freekassa_webhook(request): data = await request.json() - logging.debug(f"Получен вебхук от FreeKassa: {data}") + logger.debug(f"Получен вебхук от FreeKassa: {data}") - logging.debug(f"Данные вебхука от FreeKassa: {data}") + logger.debug(f"Данные вебхука от FreeKassa: {data}") if data["status"] == "completed": user_id = data["metadata"]["user_id"] diff --git a/handlers/payment/yookassa_pay.py b/handlers/payment/yookassa_pay.py index 6e238c83..2e1c7983 100644 --- a/handlers/payment/yookassa_pay.py +++ b/handlers/payment/yookassa_pay.py @@ -22,12 +22,13 @@ from handlers.texts import PAYMENT_OPTIONS router = Router() logging.basicConfig(level=logging.DEBUG) +logger = logging.getLogger(__name__) Configuration.account_id = YOOKASSA_SHOP_ID Configuration.secret_key = YOOKASSA_SECRET_KEY -logging.debug(f"Account ID: {YOOKASSA_SHOP_ID}") -logging.debug(f"Secret Key: {YOOKASSA_SECRET_KEY}") +logger.debug(f"Account ID: {YOOKASSA_SHOP_ID}") +logger.debug(f"Secret Key: {YOOKASSA_SECRET_KEY}") class ReplenishBalanceState(StatesGroup): @@ -55,7 +56,7 @@ async def send_message_with_deletion( await state.update_data({message_key: sent_message.message_id}) except Exception as e: - logging.error(f"Ошибка при удалении/отправке сообщения: {e}") + logger.error(f"Ошибка при удалении/отправке сообщения: {e}") return None return sent_message @@ -205,13 +206,13 @@ async def send_payment_success_notification(user_id: int, amount: float): reply_markup=profile_keyboard, ) except Exception as e: - logging.error(f"Ошибка при отправке уведомления пользователю {user_id}: {e}") + logger.error(f"Ошибка при отправке уведомления пользователю {user_id}: {e}") async def yookassa_webhook(request): event = await request.json() - logging.debug(f"Webhook event received: {event}") + logger.debug(f"Webhook event received: {event}") if event["event"] == "payment.succeeded": user_id_str = event["object"]["metadata"]["user_id"] @@ -221,13 +222,13 @@ async def yookassa_webhook(request): user_id = int(user_id_str) amount = float(amount_str) - logging.debug(f"Payment succeeded for user_id: {user_id}, amount: {amount}") + logger.debug(f"Payment succeeded for user_id: {user_id}, amount: {amount}") await update_balance(user_id, amount) await send_payment_success_notification(user_id, amount) except ValueError as e: - logging.error(f"Ошибка конвертации user_id или amount: {e}") + logger.error(f"Ошибка конвертации user_id или amount: {e}") return web.Response(status=400) return web.Response(status=200) @@ -307,7 +308,7 @@ async def process_custom_amount_input(message: types.Message, state: FSMContext) await message.answer("Ошибка при создании платежа.") except Exception as e: - logging.error(f"Ошибка при создании платежа: {e}") + logger.error(f"Ошибка при создании платежа: {e}") await message.answer("Произошла ошибка при создании платежа.") else: await message.answer("Некорректная сумма. Пожалуйста, введите сумму еще раз:") diff --git a/handlers/profile.py b/handlers/profile.py index c43f6b95..f2b8ad2e 100644 --- a/handlers/profile.py +++ b/handlers/profile.py @@ -24,7 +24,7 @@ class ReplenishBalanceState(StatesGroup): router = Router() -logging.basicConfig(level=logging.INFO) +logging.basicConfig(level=logging.DEBUG) logger = logging.getLogger(__name__) diff --git a/handlers/start.py b/handlers/start.py index 3c5d6c37..0ed2f925 100644 --- a/handlers/start.py +++ b/handlers/start.py @@ -20,6 +20,7 @@ from handlers.keys.trial_key import create_trial_key from handlers.texts import ABOUT_VPN, INSTRUCTIONS_TRIAL, WELCOME_TEXT logging.basicConfig(level=logging.DEBUG) +logger = logging.getLogger(__name__) router = Router() @@ -71,10 +72,10 @@ async def send_welcome_message(chat_id: int, trial_status: int): @router.message(Command("start")) async def start_command(message: Message): - logging.info(f"Received start command with text: {message.text}") + logger.info(f"Received start command with text: {message.text}") if "referral_" in message.text: referrer_tg_id = int(message.text.split("referral_")[1]) - logging.info(f"Referral ID: {referrer_tg_id}") + logger.info(f"Referral ID: {referrer_tg_id}") if not await check_connection_exists(message.from_user.id): await add_connection(message.from_user.id) await add_referral(message.from_user.id, referrer_tg_id) @@ -104,10 +105,10 @@ async def handle_connect_vpn(callback_query: CallbackQuery): """, user_id, ) - logging.info(f"Rows updated: {result}") + logger.info(f"Rows updated: {result}") except Exception as e: - logging.error(f"Ошибка при обновлении trial: {e}") + logger.error(f"Ошибка при обновлении trial: {e}") finally: await conn.close()