logging.info(), сначала необходимо настроить базовую конфигурацию логгера. Например:
  import logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logging.info('Это информационное сообщение')
logging.basicConfig() настраивает логгер, устанавливая уровень логирования на INFO и формат сообщений.logging.info() записывает сообщение уровня INFO. Сообщение будет отображено, так как уровень INFO включен в конфигурации.logging.basicConfig() ничего не будет отображаться.
Для записи информационных сообщений в лог с помощью logging.info(), вам сначала необходимо настроить базовую конфигурацию модуля logging.  Самый простой способ - использовать функцию logging.basicConfig().
Пример базовой конфигурации:
import logging
logging.basicConfig(level=logging.INFO, 
                    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
logger.info("Это информационное сообщение!")
Разберем код:
import logging: Импортируем модуль logging.logging.basicConfig(...):  Настраиваем базовую конфигурацию логгера.
      level=logging.INFO: Устанавливает минимальный уровень логгирования.  Сообщения с уровнем INFO и выше (WARNING, ERROR, CRITICAL) будут записаны в лог.format='%(asctime)s - %(name)s - %(levelname)s - %(message)s': Определяет формат записи лога. Здесь используются следующие параметры:
          %(asctime)s:  Дата и время события.%(name)s: Имя логгера.  В данном случае, это имя модуля (__name__).%(levelname)s:  Уровень сообщения (INFO, WARNING, ERROR и т.д.).%(message)s:  Само сообщение, которое вы передаете в logging.info().logger = logging.getLogger(__name__): Получаем логгер с именем текущего модуля.  Рекомендуется использовать именованные логгеры.logger.info("Это информационное сообщение!"):  Записываем сообщение с уровнем INFO в лог.Вывод в консоль (или в файл, если это настроено):
2023-10-27 10:00:00,000 - __main__ - INFO - Это информационное сообщение!
Дополнительные возможности:
logging.basicConfig() для записи логов в файл, используя параметр filename='имя_файла.log'.logging.config.fileConfig() или logging.config.dictConfig(), позволяющие задавать различные обработчики (handlers) и форматтеры (formatters).logger.exception() для записи сообщения об ошибке вместе с трассировкой стека.logging.info(), используйте logging.debug(), logging.warning(), logging.error() и logging.critical() для сообщений разной важности.Правильное использование логирования помогает отлаживать код, мониторить работу приложения и анализировать его поведение.