symfony-yoandev-observability
Observability
Tier: on demand — channels and redaction matter from the first production deploy; correlation ids, the worker heartbeat and health probes are switched on by a real worker, a real orchestrator, a real incident.
An application that reaches production and then goes silent is not finished. This skill
covers what the application emits and how it is structured: channels, levels,
processors, redaction, alerts, health. Where logs go is infrastructure and out of
scope — a file, stdout, a managed aggregator, a Grafana stack. The prod handler
configuration (php://stderr, JSON) is already symfony-yoandev-deployment's; profiling and
Stopwatch are symfony-yoandev-performance's; the dev server's log stream is
symfony-yoandev-local-dev's.
The pact this suite already made
The standard mandates #[WithLogLevel] on expected business exceptions so they stop
drowning real failures. That only pays off if something watches what remains. The ladder
Symfony applies, from ErrorListener::resolveLogLevel():