37 lines
1.2 KiB
Markdown
37 lines
1.2 KiB
Markdown
# `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()
|
|
```
|
|
|
|
|