# `application/config.py` y `application/logging_config.py` ## Propósito Centralizan configuración (Pydantic Settings) y logging en formato JSON. ## Configuración (`application/config.py`) ### Clases - `ApiSettings`: `base_url`, `api_key`, `model`, `request_timeout_s`. - `ImagingSettings`: `pdf_dpi`, `pdf_thread_count`, `tiff_pages`, y parámetros judiciales. - `RetrySettings`: reintentos y backoff. - `AppSettings`: agrega las anteriores y `csv_delimiter`. Se expone `settings = AppSettings()`. Lee variables desde `.env` (si existe). ### Variables de entorno relevantes - `EXTRACTOR_BASE_URL`, `EXTRACTOR_API_KEY`, `EXTRACTOR_MODEL`, `EXTRACTOR_TIMEOUT_S` - `PDF_DPI`, `PDF_THREAD_COUNT`, `TIFF_PAGES` - `JUDICIAL_FAST_FIND_DPI`, `JUDICIAL_MAIN_DPI`, `JUDICIAL_GRAYSCALE`, `JUDICIAL_VALIDATE_IMAGES` - `RETRY_MAX_ATTEMPTS`, `RETRY_WAIT_MIN_S`, `RETRY_WAIT_MAX_S` - `CSV_DELIMITER` ## Logging (`application/logging_config.py`) Configura loggers rotativos unificados: - `logs/ips_extractor.log` (aplicación), - `logs/llm.log` (normalización), - `logs/api_calls.log` (llamadas a APIs), y consola para WARNING+. ### Uso ```python from application.logging_config import configure_logging configure_logging() ```