Superseded by 0147: the logger drivers are
console, OTLP and Better Stack. CloudWatch and Sentry reach logs through OTLP or a collector.
Context
The Figentra OS logger is ported (0084). It already reports to CloudWatch. Services built on Stackra run on Encore, and observability uses Sentry and Better Stack (0073). On-prem and air-gapped deployments (0076) cannot rely on any one of these being present.Decision
@stackra/loggeris a driver package: application code logs through the logger, and reporters are drivers chosen by configuration.- The CloudWatch reporter is kept.
- Three reporters are added: Encore log (
encore.dev/log, passed in by the service and never imported by the package), Sentry, and Better Stack. - No personal data in any log line (0020 rule 3, 0071).
Consequences
- One logging call site no matter where the code is deployed. Reporters are swapped by configuration.
- Four vendor reporters to maintain and keep current through the catalogs.
- Which reporter an air-gapped deployment uses, when no hosted reporter is reachable, is TODO and settled when the logger is ported.
- The Encore reporter follows the duck-typed driver rule of 0078 decision 8.
Enforcement
packages/tooling/oxlint/src/boundaries.jsonc bans encore.dev in packages. Planned: a reporter conformance suite in the package, and a redaction test that rejects known PII fields. Nothing else checks this today.