Section: Logging & Observability
Problem
Multiple modules call logging.getLogger(name) (dvl.py, main.py, market.py, supabase_client.py) but nothing in the codebase ever calls logging.basicConfig(...) or otherwise configures handlers/formatters — so log level, format, and output destination are all left to Python's defaults.
Why this matters
Right now, log output behavior is essentially undefined and inconsistent across deployment environments (local dev vs. HuggingFace Spaces vs. Vercel functions). Structured logs are also a prerequisite for any future monitoring or log-aggregation work.
Acceptance Criteria
Files likely to modify
finverify-terminal/backend/app/logging_config.py
finverify-terminal/backend/app/main.py
Skills required: Python logging
Estimated difficulty: 2/5
Estimated effort: 4-6 hours
Labels: backend, observability, good first issue
Dependencies: Centralize configuration into a single pydantic Settings module
Section: Logging & Observability
Problem
Multiple modules call logging.getLogger(name) (dvl.py, main.py, market.py, supabase_client.py) but nothing in the codebase ever calls logging.basicConfig(...) or otherwise configures handlers/formatters — so log level, format, and output destination are all left to Python's defaults.
Why this matters
Right now, log output behavior is essentially undefined and inconsistent across deployment environments (local dev vs. HuggingFace Spaces vs. Vercel functions). Structured logs are also a prerequisite for any future monitoring or log-aggregation work.
Acceptance Criteria
A single logging configuration function is added and called once at app startup, setting a consistent format (timestamp, level, logger name, message) and configurable log level via settings
Optional JSON-formatted output is supported behind a config flag for environments that aggregate logs
Existing logger.info/warning/error calls across the codebase are unaffected in code — only their output formatting changes
README/CONTRIBUTING briefly documents how to adjust log verbosity locally
Files likely to modify
finverify-terminal/backend/app/logging_config.py
finverify-terminal/backend/app/main.py
Skills required: Python logging
Estimated difficulty: 2/5
Estimated effort: 4-6 hours
Labels: backend, observability, good first issue
Dependencies: Centralize configuration into a single pydantic Settings module