Phase 72.5.1.10 adds @v2/telemetry-debug-mode, the development-only verbose
logging layer for telemetry event inspection.
Development Logging#
debugTelemetryBatch logs every event in a telemetry batch when enabled: true
and the build configuration is development, test, qa, or staging. Each
TelemetryDebugRecord contains the batch ID, producer, topic, event ID, session
ID, sequence, critical flag, payload schema version, sanitized payload, and a
deterministic single-line message produced by formatTelemetryDebugRecord.
Use MemoryTelemetryDebugSink for tests and local tooling. Runtime adapters can
forward each record line to engine logging, but the package itself stays pure
and does not write to process-global console output.
Release Safety#
resolveTelemetryDebugModeConfig normalizes build names and always disables
debug logging for release, production, and shipping builds. A requested
release build returns release-build-disabled, logs zero events, and writes
nothing to the configured sink. Debug mode is opt-in; unrequested development
builds return debug-mode-disabled.
Payload Hygiene#
sanitizeTelemetryDebugPayload redacts forbidden ingestion fields, token
fields, password fields, secret fields, raw log lines, email, IP address, and
platform user identifiers before log formatting. Long string values are
truncated to maxPayloadValueCharacters, and includePayload: false emits
metadata-only records for safer local captures.
Targeted verification:
pnpm --filter @v2/telemetry-debug-mode run typecheck
pnpm --filter @v2/telemetry-debug-mode run test
python V2/ue/Tools/check-v2-telemetry-debug-mode.py