You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The dispatcher, pipelines, and poller currently have zerologging imports. Diagnostic output relies on print / rich which is fine for the CLI surface but useless for production observability — when a launchd service silently misbehaves, there's nothing to grep.
Add Python logging to the core modules so operators can debug without re-running with breakpoints.
Motivation
Enterprise users evaluating the project see "no logging" as a red flag.
When dev-sync runs as a launchd / systemd daemon, print calls land in the StdOut log but with no structure (no timestamps, no level, no module).
Add structured logging to core modules
Summary
The dispatcher, pipelines, and poller currently have zero
loggingimports. Diagnostic output relies onprint/richwhich is fine for the CLI surface but useless for production observability — when a launchd service silently misbehaves, there's nothing to grep.Add Python
loggingto the core modules so operators can debug without re-running with breakpoints.Motivation
dev-syncruns as a launchd / systemd daemon,printcalls land in the StdOut log but with no structure (no timestamps, no level, no module).Acceptance criteria
src/dev_sync/core/dispatcher.pyuseslogging.getLogger(__name__)and logs:src/dev_sync/core/poller.py(or equivalent) logs:src/dev_sync/pipelines/dev_pipeline.pyandsecops_pipeline.pylog major lifecycle events at INFO and unexpected states at WARNING/ERROR.--verbose/-vflag bumps to DEBUG.DEV_SYNC_LOG_LEVELenv var if set.print/rich.printcalls in the CLI layer are left alone — this issue is about library logging, not CLI output.Out of scope
richCLI output with logs.Notes
src/, so after merge: restart the launchd / systemd services (per docs/operations.md) so they pick up the new code.