import logging import sys def setup_logging(): # Очистка существующих обработчиков for handler in logging.root.handlers[:]: logging.root.removeHandler(handler) # Настройка формата formatter = logging.Formatter( '%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) # Обработчик для вывода в консоль console_handler = logging.StreamHandler(sys.stdout) console_handler.setFormatter(formatter) # Установка уровня для корневого логгера logging.basicConfig( level=logging.INFO, handlers=[console_handler], force=True ) # Установка уровня для конкретных логгеров loggers = [ 'app.routes', 'app.services', 'main', '__main__' ] for logger_name in loggers: logger = logging.getLogger(logger_name) logger.setLevel(logging.INFO) # Удаляем существующие обработчики for handler in logger.handlers[:]: logger.removeHandler(handler) # Добавляем наш обработчик logger.addHandler(console_handler) # Запрещаем передачу родительским логгерам logger.propagate = False