foundation/logging/sdk_logger library
SDK Logger
Centralized logging utility with multi-destination support.
Matches iOS Infrastructure/Logging/SDKLogger.swift, which hosts the
central Logging service, the LogDestination protocol, the
per-environment RALoggingConfiguration presets, and the SDKLogger
convenience wrapper in a single file. The Dart equivalents live here:
- SDKLoggerConfig <-> Swift
Logging(central service) - LogDestination <-> Swift
LogDestinationprotocol - ConsoleLogDestination<-> Swift
printToConsole(console sink) - LoggingConfigurations<-> Swift
RALoggingConfigurationpresets - SDKLogger <-> Swift
SDKLogger(convenience wrapper)
Classes
- ConsoleLogDestination
-
Default console sink. Mirrors Swift
Logging.printToConsole(_:)— it is held by SDKLoggerConfig (not registered in the destinations list) and invoked only whenenableLocalLoggingis on. - LogDestination
-
A pluggable log sink. Implement this to route SDK logs to your own
telemetry/file/network destination. Mirrors Swift's
LogDestinationprotocol. This is a host-side interface (carries no wire payload) and so stays hand-written rather than moving to the proto contract. - LoggingConfigurations
-
Per-environment LoggingConfiguration presets. The generated proto message
cannot be
const-constructed, so the development/staging/production presets live here as factory helpers (mirrors Swift'sRALoggingConfigurationextension inSDKLogger.swift). - LogLevel
- SDKLogger
- Centralized logging utility Aligned with iOS: Sources/RunAnywhere/Infrastructure/Logging/SDKLogger.swift
- SDKLoggerConfig
-
Central logging service holding the currently-configured logging
configuration + registered destinations. Mirrors Swift's
Logging.shared: every SDKLogger record routes through log, which applies the min-level gate, suppresses debug records in production, and fans out to the console