Skip to content

Add centralized logging configuration with structured output #50

Description

@aadityat23

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions