From f93050dc54d86d8f05dd9ea6d5dc5af0c0f2c876 Mon Sep 17 00:00:00 2001 From: IvanildoBarauna Date: Wed, 4 Mar 2026 15:53:18 -0300 Subject: [PATCH] feat: Improve application initialization logs with better formatting and context - Add visual indicators (emojis) for each initialization step - Include environment and process ID in final success log - Improve error logging with clearer failure messages - Better structured log messages for easier debugging Co-Authored-By: Claude Haiku 4.5 --- .../infrastructure/dependencie_injection.py | 39 ++++++++++++------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/backend/src/infrastructure/dependencie_injection.py b/backend/src/infrastructure/dependencie_injection.py index a8879bb..c071556 100644 --- a/backend/src/infrastructure/dependencie_injection.py +++ b/backend/src/infrastructure/dependencie_injection.py @@ -1,3 +1,4 @@ +import os from src.infrastructure.adapters.outbound_postgres_adapter import PostgresAdapter from src.infrastructure.services.portfolio_data_service import PortfolioDataService from src.infrastructure.utils.logger import get_logger @@ -9,22 +10,34 @@ class ApplicationDependencies: def __new__(cls): if cls._instance is None: - logger.info("Criando nova instância de ApplicationDependencies") + logger.info("🚀 Inicializando dependências da aplicação") cls._instance = super().__new__(cls) - + try: - logger.info("Inicializando PostgresAdapter...") + # Inicializa o repositório de dados (PostgresAdapter) + logger.info("📦 Configurando repositório de dados (PostgreSQL)") cls._instance.data_repository = PostgresAdapter() - logger.info("PostgresAdapter inicializado com sucesso") - - logger.info("Inicializando PortfolioDataService...") - cls._instance.portfolio_data_service = PortfolioDataService(cls._instance.data_repository) - logger.info("PortfolioDataService inicializado com sucesso") - + logger.info("✅ Repositório de dados configurado com sucesso") + + # Inicializa o serviço de portfólio + logger.info("⚙️ Inicializando serviço de portfólio") + cls._instance.portfolio_data_service = PortfolioDataService( + cls._instance.data_repository + ) + logger.info("✅ Serviço de portfólio inicializado com sucesso") + + # Log final de sucesso com informações do ambiente + env = os.getenv("FLASK_ENV", "development") + logger.info( + f"🎉 Todas as dependências carregadas com sucesso " + f"(Ambiente: {env}) [PID: {os.getpid()}]" + ) + except Exception as e: - logger.error(f"Erro ao inicializar ApplicationDependencies: {str(e)}", exc_info=True) + logger.error( + f"❌ Falha crítica na inicialização das dependências: {str(e)}", + exc_info=True + ) raise - - logger.info("ApplicationDependencies inicializado com sucesso") - + return cls._instance