adr/0001-modernize-logging-solution.md
Date: 2023-01-24
Accepted
Debugging issues encountered by users on production builds of Firefox for iOS is currently inefficient and unreliable. Our existing logging setup provides minimal visibility into user actions or application state leading up to a crash or bug. Logs are:
Additionally, our reliance on Sentry and Xcode crash reports limits visibility:
Given upcoming large-scale refactors and the need for greater production observability, we must modernize our logging infrastructure to be comprehensive, privacy-safe, and actionable.
We will modernize Firefox iOS logging by introducing a new local logging abstraction layer built on top of SwiftyBeaver, with selective Sentry integration for critical and aggregated logs. Sentry will receive breadcrumbs so we can debug the current context when we have a crash.
This approach focuses first on improving local log quality, consistency, and accessibility. Once local reliability and structure are established, the team can explore partial cloud ingestion for Beta/Nightly builds if we wish.