Ошибка настройки логирования
При нажатии /start в телеграме ничего не происходит.
import time
import asyncio
import logging
import aiogram
from aiogram import Bot, Dispatcher, types
from aiogram.filters.command import Command
logging.basicConfig(level=logging.info)
bot = Bot(token="")
dp = Dispatcher()
@dp.message(Command("start"))
async def start_handler(message: types.Message):
#await message.answer("Hello!")
user_id = message.from_user.id
user_full_name = message.from_user.full_name
logging.info(f'{user_id=} {user_full_name=} {time.asctime()}')
await message.reply(f"Привет, {user_full_name}")
#def get_weather(city, open)
async def main():
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())
В терминале такой ответ:
Traceback (most recent call last):
File "/Users/s/Desktop/dl_testovoe_bot/testovoe.py", line 10, in <module>
logging.basicConfig(level=logging.info)
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/logging/__init__.py", line 2137, in basicConfig
root.setLevel(level)
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/logging/__init__.py", line 1514, in setLevel
self.level = _checkLevel(level)
^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/logging/__init__.py", line 216, in _checkLevel
raise TypeError("Level not an integer or a valid string: %r"
TypeError: Level not an integer or a valid string: <function info at 0x10521a480>
Ответы (2 шт):
Автор решения: Collapse
→ Ссылка
Как Ваш вопрос связан с vs code? По ошибке видно, что проблема с logging.basicConfig(level=logging.info), попробуйте убрать данную строчку и проверить работает ли, так же рекомендую познакомиться с документацией https://docs.aiogram.dev/en/dev-3.x/
Автор решения: CrazyElf
→ Ссылка
logging.basicConfig(level=logging.info)
TypeError: Level not an integer or a valid string: <function info at 0x10521a480>
Нужно таки различать большие и маленькие буквы:
logging.info
- это функция, которая вызывается для осуществления логированияlogging.INFO
- это константа, которую можно передавать при конфигурировании логирования
Поэтому правильный код должен выглядеть так:
logging.basicConfig(level=logging.INFO)
Документация на стандартный модуль логирования.