[Observability] OpenTelemetry logging foundations (SDK bootstrap, log bridge, sanitizer)
- Dominant language
- Scala
- Stars
- 314
- Forks
- 187
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 214
Description
### Feature Summary
Texera has no vendor-neutral telemetry pipeline for logs: application logs cannot be exported to an OpenTelemetry backend, and there is no guard against secrets (tokens, credentials, authorization headers) leaving the process in log output. This establishes the default-off OpenTelemetry logging foundation that the rest of the observability work depends on.
### Proposed Solution or Design
- `OtelInit`: initializes the OpenTelemetry SDK for a service. Disabled by default; reads and validates `OTEL_*` configuration and returns a no-op instance on misconfiguration rather than throwing.
- `TexeraOtelLogAppender`: a Logback appender that bridges existing application logs into the OpenTelemetry log pipeline.
- `LogSanitizer`: redacts secrets before any log record leaves the process.
- OpenTelemetry and ScalaTest dependencies added to the `Config` module, with unit specs for each class.
- Remains inert until `OTEL_SDK_DISABLED=false`: no telemetry is emitted and no behavior changes while disabled.
### Affected Area
Deployment / Infrastructure, Other
### Related
Part of #4070.
Contributor guide
Assessment
This issue has not been assessed yet.