Разделите создание событий и их доставку: приложение пишет стабильные структурированные логи, а формат, уровни и handlers задаются конфигурацией. Часто проще отдавать JSON в stdout и адаптировать сборщик у заказчика.
Как предусмотреть интеграцию логов Python-приложения с системами логирования разных заказчиков без пересборки приложения?
Разделите создание событий и их доставку: приложение пишет стабильные структурированные логи, а формат, уровни и handlers задаются конфигурацией. Часто проще отдавать JSON в stdout и адаптировать сборщик у заказчика.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Разделите создание событий и их доставку: приложение пишет стабильные структурированные логи, а формат, уровни и handlers задаются конфигурацией. Часто проще отдавать JSON в stdout и адаптировать сборщик у заказчика.
В Python logging поддерживает конфигурацию через dictConfig. Конфиг загружают из контролируемого файла или окружения без пересборки, но не принимают произвольные небезопасные классы от недоверенного источника. Для разных систем можно настраивать внешние агенты доставки. Маскировка секретов выполняется до экспорта, а backpressure и сбои лог-системы не должны бесконтрольно блокировать приложение.
Источник: docs.python.org.