Answer
t.me/python_tesstОтвет:
2021-06-28 11:26:27,550 - [INFO] - тестовое приложение - __main__ - (6.py).<module>(11) - Программа стартует
2021-06-28 11:26:27,553 - [INFO] - тестовое приложение - __main__ - (6.py).<module>(12) - Программа завершила работу
Объяснение:
Попробуем создать заданные пользователем атрибуты объектов класса LogRecord, используя класс LoggerAdapter. У LogRecord есть несколько атрибутов. Разработчики могут выбрать наиболее важные атрибуты и использовать в форматировщике. Помимо того, модуль logging также предоставляет возможность добавить в LogRecord определенные пользователем атрибуты.
Один из способов сделать это — использовать LoggerAdapter. Когда вы создаете адаптер, вы передаете ему экземпляр логгера и свои атрибуты (в словаре). Этот класс предоставляет тот же интерфейс, что и класс Logger, поэтому вы все еще можете вызывать методы наподобие logger.info.
Код:
import logging
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s - [%(levelname)s] - %(app)s -"
"%(name)s - (%(filename)s).%(funcName)s(%(lineno)d) - %(message)s",
)
logger = logging.getLogger(__name__)
logger = logging.LoggerAdapter(logger, {"app": "тестовое приложение"})
logger.info("Программа стартует")
logger.info("Программа завершила работу")