TLDR: The Diagnostics group's on-device log viewer, which replaced the old native MetroLog screen. It shows real captured entries, narrows them by search, minimum severity and category, opens any entry in full, and exports every log file as a zip through the share sheet. Help desk staff: start with Guiding a member to send logs.
Applies to ALPA Mobile 5.0.17 and later (released 2026-10-05). The version is shown at the bottom of Settings. A member on an older version should update from the App Store or Google Play first.
What the logs are. The app keeps a record of what it did on this device over the last 7 days: screens
opened, server calls and errors. Sign-in tokens, member numbers and email addresses are removed before anything is
written, and nothing leaves the device until the member shares the file. Each screen change is one line starting
[Nav]: how the member moved (Push, Pop, Replace), the screen's route,
how many screens deep the back stack is, and the screen they came from.
The member must be signed in. Settings is reached from the profile icon, which appears only when signed in. If the problem is that they cannot sign in, ask for screenshots of what they see instead.
The logs are only useful next to a description. Before the steps below, get:
alpa-logs-<date>-<time>.zip.
Afterwards. Diagnostic Mode switches itself off after 24 hours and the DIAGNOSTICS section disappears. To hide it sooner, tap the version number five times again.
The checks below confirm the App Logs screen works end to end on a build.
Steps: With Diagnostic Mode on, open Settings, scroll to the DIAGNOSTICS group, and tap Show App Logs.
What you should see: An App Logs screen opens with a three-row toolbar: a date dropdown
(defaulted to Current Session) with Refresh and Export beside it; a full-width
Search messages and categories field; and a minimum-severity dropdown (Debug+ in a Debug build)
next to an All categories dropdown. The entries are listed below the toolbar. While Diagnostic Mode is
on, a dark debug strip naming the route (/settings/logs) sits above the page.
Steps: On the App Logs screen, just look at the list — no extra taps needed.
What you should see: Entries newest-first, every row the same height, each with a severity badge
(e.g. INFO, DEBUG), a timestamp to the millisecond, the source category (e.g.
ALPADocs.Services.Caching.ImageCacheService), and the message clamped to two lines. This is real
activity from this session (network calls, app events), not placeholder text. Typing in the search field or
picking a category narrows the rows in place.
Steps: Go back to Settings → DIAGNOSTICS → tap Throw Test Exception. Then open Show App Logs again and change the severity dropdown from Info+ to Error+.
What you should see: The list narrows to one row: a red ERROR badge, category
System.Exception, message [ThrowTestException] Test Exception, and one
red line under it with the exception type and message (⚠ Exception: Test Exception).
Every row is the same height; the list no longer shows stack traces. Tap the row once: the entry
opens with the full stack trace, the time to the millisecond, and Copy, Copy ±20, Share,
This category and This template buttons. Below the exception it shows a Context block:
the screen it was logged on, Signed in or Signed out, Foreground, and the app build. A log call
written with placeholders also shows its Template and Values; this error line has
none, because its template is the message itself, so This template keeps only identical
messages. Entries from a past day's file show a note instead of those blocks. The screenshot shows an INFO entry opened the same way: under the message come the Context block and the surrounding entries, then the buttons.
Steps: On the App Logs screen, tap Export.
What you should see: Export dims (disabled) while the zip is built, then the device's native
share sheet opens, offering App Logs / alpa-logs-<date>-<time>.zip. The zip holds
every log file on the device (up to 7 days), whichever date is picked. The app keeps only its newest zip and deletes
older ones the next time it starts.
The whole Show App Logs pipeline end to end: it's reachable only through Diagnostics, it shows real captured entries rather than a mock, the severity filter narrows correctly, and a tester can get the logs off the device (via the share sheet) to attach to a bug report — all without the old native MetroLog screen.