Fix logging

This commit is contained in:
Zakhar Izmaylov
2024-11-09 11:33:17 +03:00
parent 7ca92c1627
commit ff2c66784d
14 changed files with 69 additions and 67 deletions
+9 -6
View File
@@ -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"]
+23 -22
View File
@@ -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
+3 -2
View File
@@ -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:
+1 -3
View File
@@ -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()
+5 -4
View File
@@ -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()
+1 -3
View File
@@ -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__)
+1 -3
View File
@@ -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__)
+1 -3
View File
@@ -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__)
+2 -1
View File
@@ -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()
+1 -1
View File
@@ -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()
+7 -6
View File
@@ -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"]
+9 -8
View File
@@ -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("Некорректная сумма. Пожалуйста, введите сумму еще раз:")
+1 -1
View File
@@ -24,7 +24,7 @@ class ReplenishBalanceState(StatesGroup):
router = Router()
logging.basicConfig(level=logging.INFO)
logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger(__name__)
+5 -4
View File
@@ -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()