log_and_shake 1.1.1
log_and_shake: ^1.1.1 copied to clipboard
A developer-friendly package for logging and debugging via shake gestures. Great for debugging in dev builds.
Changelog #
All notable changes to this project will be documented in this file.
1.1.1 - 2026-04-27 #
Added #
- Debug log level — new
LogLevel.debugandLogAndShake.logD()method - Tag support — all log methods (
log,logD,logI,logW,logE) now accept an optionaltagparameter; tags are displayed in the log screen - Search with navigation — search bar with match counter and up/down arrow navigation between results
- Level filter chips — filter the log list by Debug / Info / Warning / Error
- Improved error capture — now also captures Flutter framework errors (
FlutterError.onError) and platform callback errors (PlatformDispatcher.onError) - Stack trace merging — rapid consecutive stack frame lines (within 150 ms) are merged into a single collapsible log entry instead of appearing as separate rows
- Auto-scroll to bottom — log screen automatically scrolls to new entries when the user is already near the bottom; stays in place when reading old logs
Changed #
LogServicenow extendsChangeNotifier— logs stream live to the open screen without needing to reopen it- Long log messages now wrap to the next line within the horizontal scroll area instead of extending infinitely off-screen
- Timestamp format simplified from
HH:MM:SS.mmmtoHH:MM:SS - Level serialization uses name instead of index (safer against future enum changes)
logsgetter now returns an unmodifiable list
Fixed #
debugPrintoverride now applied before zone setup, preventing double-logging from packages that reassigndebugPrint- Removed
'bad'keyword from automatic error-level detection (was causing false positives)
1.1.0 - 2025-01-25 #
Added #
- Timestamps: Each log entry now displays a timestamp in
HH:MM:SS.mmmformat for precise timing information - Log Rotation: Configurable maximum log count (default: 1000) to prevent memory bloat during long sessions
- Use
LogAndShake.setMaxLogCount(count)to customize - Automatically removes oldest logs when limit is reached
- Use
- Export Functionality: Share and copy logs with ease
- Export logs as a text file via native share dialog
- Copy all logs to clipboard with one tap
- Accessible via new "More Options" menu in the log screen
- Stack Trace Formatting: Improved readability for error logs
- Automatic detection of stack traces in log messages
- Collapsible/expandable sections for stack traces
- Clean, formatted display with gray background
- Copy stack trace separately with dedicated button
- Shows first 10 lines with indicator for remaining lines
- Log Persistence: Optional log persistence across app restarts
- Enable with
persistLogs: trueparameter inLogAndShake.run() - Logs are saved using SharedPreferences
- Automatically loads previous session logs on startup
- Enable with
Changed #
- Log list items are now expandable when they contain stack traces
- AppBar now uses a PopupMenu for better organization of actions
- Improved overall UI/UX of the log screen