famon 1.4.0
famon: ^1.4.0 copied to clipboard
A command-line tool to monitor Firebase Analytics events from logcat.
famon - Firebase Analytics Monitor #
CLI tool for real-time monitoring of Firebase Analytics events from Android and iOS.
Features #
- Stream events as they happen
- Android, iOS Simulator, and iOS device support
- Filter by event name (hide or show-only)
- Colorized, formatted output
- Session statistics and filter suggestions
- Full parameter and item array parsing
- Auto-detects connected devices/simulators
Installation #
dart pub global activate famon
From source:
git clone https://github.com/mikezamayias/famon.git
cd famon
dart pub get
dart compile exe bin/famon.dart -o famon
# Move famon to your PATH
Prerequisites #
Android #
- Android SDK platform-tools +
adbin PATH - Android device or emulator connected with USB debugging enabled
adb devices # verify connection
adb logcat -s FA-SVC | head # verify Firebase logs
iOS Simulator #
- Xcode + Command Line Tools (
xcrunin PATH) - Simulator running with Firebase Analytics debug mode enabled
xcrun simctl list booted
iOS Device #
idevicesysloginstalled (brew install libimobiledevice)- Device connected via USB and trusted
idevice_id -l
Enabling Firebase Analytics debug mode on iOS #
Add -FIRAnalyticsDebugEnabled to your scheme's launch arguments (Product > Scheme > Edit Scheme > Run > Arguments), or set it programmatically:
UserDefaults.standard.set(true, forKey: "/google/firebase/debug_mode")
Usage #
famon monitor # auto-detect platform
famon monitor --platform android
famon monitor --platform ios-simulator
famon monitor --platform ios-device
famon monitor --hide screen_view --hide _vs
famon monitor --show-only my_event -s another_event
famon monitor --suggestions --stats
famon monitor --no-color
famon monitor --verbose
famon monitor --raw
Issue reporting #
famon issue # collects system info and opens a pre-filled bug report
Command reference #
famon monitor #
| Option | Description |
|---|---|
-p, --platform |
android, ios-simulator, ios-device, auto |
--hide EVENT |
Hide event by name (repeatable) |
-s, --show-only EVENT |
Show only named events (repeatable) |
--no-color |
Disable color output |
--suggestions |
Show filter suggestions from session data |
--stats |
Show session statistics periodically |
-r, --raw |
Raw parameter values, no formatting |
-V, --verbose |
Stream all Firebase/Crashlytics log lines |
-D, --enable-debug PKG |
Enable Analytics debug for a package (Android only) |
--raise-log-levels |
Raise log levels to VERBOSE before monitoring |
Example output #
[12-25 10:30:45.123] my_custom_event
Parameters:
param_one: value1
param_two: value2
[12-25 10:31:15.456] another_event
Parameters:
screen_name: SomeScreen
screen_class: MainActivity
Smart Suggestions:
Most frequent: screen_view, _vs, app_update, user_engagement
Use: famon monitor --hide screen_view --hide _vs
Session Stats:
Unique Events: 8
Total Events: 45
Troubleshooting #
Android #
adb: command not found — Install Android SDK platform-tools and add to PATH.
No devices found — Enable USB debugging, try adb kill-server && adb start-server.
Permission denied — Check USB debugging permissions or try a different cable/port.
iOS Simulator #
xcrun: command not found — Run xcode-select --install.
No booted simulator — xcrun simctl boot "iPhone 15", verify with xcrun simctl list booted.
No Firebase logs — Enable debug mode (see Prerequisites), verify app is running.
iOS Device #
idevicesyslog: command not found — brew install libimobiledevice.
No device found — Trust the computer when prompted, verify with idevice_id -l.
Could not connect — Unlock device, unplug/replug, or restart usbmuxd: sudo launchctl stop com.apple.usbmuxd.
No events appearing #
- Confirm Firebase Analytics is integrated and debug mode is active
- iOS events may have delays
- Run
adb logcat -s FA-SVC | head -10to check raw log output
Missing parameters #
Check that your log format matches one of the supported patterns:
Logging event: origin=app,name=EVENT_NAME,params=Bundle[{param1=value1, param2=value2}]
Event logged: EVENT_NAME params:Bundle[{...}]
FA-SVC event_name:EVENT_NAME
If your logs look different, open an issue with a sample line.
Contributing #
Open an issue before large changes. For small fixes, PRs are welcome.
git clone https://github.com/mikezamayias/famon.git
cd famon
dart pub get
dart pub run build_runner build
dart test
dart test --coverage=coverage
Coverage report:
genhtml coverage/lcov.info -o coverage/
open coverage/index.html