flutter_awesome_logger 2.1.2
flutter_awesome_logger: ^2.1.2 copied to clipboard
Lightweight debugging with floating logger, automatic API logging (using interceptor), Flutter general logging, class-based filtering, and a beautiful UI for viewing logs.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.1.2 - 2025-12-06 #
Added #
- ๐ฏ Class-Based Filtering - New "Classes" button in logger history page for filtering logs by class names
- ๐ฑ Class Filter Bottom Sheet - Dedicated bottom sheet for class selection with multi-select functionality
- ๐ Dual View Modes - Toggle between list view and compact chip view for class selection
- ๐ Class Statistics - Shows log count per class with visual indicators
- ๐จ Smart Button Styling - Classes button appears grey when no classes are available, purple when active
- ๐ Class Search - Search and filter through available classes in the bottom sheet
- ๐ Selected Classes Display - Horizontal chip list showing currently selected classes
- ๐ก Educational Content - Informative message explaining class filtering when no classes exist
Enhanced #
- ๐๏ธ Advanced Filtering - Expanded filtering capabilities beyond log levels and API methods
- ๐ฑ Better UX - Improved filter section with more granular control options
- ๐ฏ Source-Aware Filtering - Class filtering only applies to general logs, respects main source filters
Technical #
- ๐๏ธ FilterManager Enhancement - Added
selectedClassesstate management and class filtering logic - ๐ LogDataService Updates - New methods for extracting and counting classes from logs
- ๐จ UI Components - New
ClassFilterBottomSheetandClassChipTilewidgets with responsive design - ๐ฑ Material Design 3 - Full theming support for the new filter components
2.1.1 - 2025-10-31 #
Fixed #
- ๐ง Source File Path Display - Fixed incorrect source file path in logger history page showing
logging_using_logger.dartinstead of actual calling file (e.g.,api_demo_page.dart) - ๐ Stack Trace Filtering - Improved stack trace filtering to properly exclude internal logger files and show correct source locations
2.1.0 - 2025-10-31 #
Added #
- ๐๏ธ Settings Modal - Added comprehensive settings modal accessible via app bar settings icon
- ๐ Circular Buffer Configuration - New
enableCircularBufferparameter inAwesomeLoggerConfigfor controlling log replacement behavior - โ๏ธ Runtime Configuration - All logger settings can now be modified at runtime through the settings modal
- ๐ Dynamic Max Log Entries - Real-time adjustment of maximum log entries limit
- ๐จ Console Output Toggles - Runtime toggles for file paths, emojis, and colors in console output
- ๐ Current Stats Display - Shows current number of stored logs in settings modal
Changed #
- ๐ Improved UX - Moved configuration from inline UI to dedicated settings modal for cleaner interface
- ๐ฑ Better Mobile Experience - Settings modal handles keyboard and screen sizes gracefully
- ๐ฏ Enhanced Developer Experience - Immediate feedback on configuration changes
Technical #
- ๐๏ธ Modal Architecture - Implemented
StatefulBuilderfor proper state management in bottom sheet - ๐ฑ Keyboard Handling - Proper keyboard dismissal and viewport adjustments
- ๐จ Theme Integration - Full Material 3 theming support in settings modal
2.0.0 - 2025-10-31 #
- removed bloc dependency
1.2.3 - 2024-10-27 #
- fixes to support older flutter versions
1.2.2 - 2024-10-27 #
Removed #
- ๐๏ธ Shake Package Dependency - Removed shake package (^3.0.0) from dependencies
- ๐คณ Shake-to-Toggle Functionality - Removed shake-to-show/hide floating button feature
- ๐คณ Shake-to-Enable Functionality - Removed shake-to-enable logger when disabled feature
- โ๏ธ Shake Configuration Options - Removed
enableShakeToShowHideFloatingButton,enableShakeToEnableLogger, andshakeSensitivityfromFloatingLoggerConfig
Changed #
- ๐ Updated Documentation - Removed all shake-related references from README.md and example documentation
- ๐งน Code Cleanup - Simplified floating logger configuration without shake-related parameters
- ๐ฑ Example App - Updated example app to use simplified configuration without shake features
Technical #
- ๐๏ธ Reduced Dependencies - Smaller package footprint by removing shake dependency
- ๐ฏ Simplified Configuration - Cleaner API surface without shake-related configuration options
- ๐ฆ Package Size Optimization - Reduced overall package size and complexity
1.2.1 - 2024-10-23 #
- updated README.md with new screenshots
1.2.0 - 2024-10-23 #
๐ Major UI Overhaul - Unified Logger Experience #
This release introduces a completely redesigned logging experience with a unified interface that combines both general and API logs in one seamless view.
Added #
- ๐ฏ Unified Logger Interface - New
AwesomeLoggerHistoryPagecombines general and API logs in chronological order - ๐ Advanced Filtering System - Expandable filter sections with smart sub-filters for logger levels and API methods
- ๐ Intelligent Statistics - Real-time statistics with clickable filtering capabilities
- ๐จ Enhanced Visual Design - Modern card-based layout with improved readability and navigation
- โก Smart Filter Management - Collapsible filter sections with active filter indicators
- ๐ Improved Sorting - Better sort toggle with visual feedback and intuitive controls
Changed #
- ๐ Simplified API - Removed separate tab-based UI in favor of unified chronological view
- ๐ฑ Better Mobile Experience - Optimized layout for all screen sizes with responsive design
- ๐ฏ Streamlined Navigation - Single entry point for all logging functionality
- ๐ Updated Documentation - README and examples now reflect the new unified approach
Removed #
- โ ๏ธ Breaking Change: Removed
LoggerHistoryPage- useAwesomeLoggerHistoryPageinstead - โ ๏ธ Breaking Change: Removed separate
ApiLogsTabandGeneralLogsTabwidgets - ๐งน Code Cleanup - Removed unused filter chip components and redundant UI files
Fixed #
- ๐ง Flutter Analyze Issues - Fixed all deprecated
withOpacityusage, replaced withwithValues - ๐ Unused Variable Warnings - Removed unused local variables in statistics calculation
- ๐ Code Style Issues - Added proper curly braces and removed unnecessary
this.qualifiers
Technical #
- ๐๏ธ Unified Architecture - Single page handles all log types with smart filtering
- ๐ Performance Improvements - More efficient log rendering and filtering
- ๐ฏ Better State Management - Improved filter state handling and UI updates
- ๐งช Enhanced Testing - All tests pass with zero analysis issues
Migration Guide #
// Old way (no longer available)
Navigator.push(context, MaterialPageRoute(
builder: (context) => const LoggerHistoryPage(),
));
// New way (recommended)
Navigator.push(context, MaterialPageRoute(
builder: (context) => const AwesomeLoggerHistoryPage(),
));
1.1.2 - 2024-10-16 #
- made sort logs toggle button to api and general logs tabs more intuitive and user-friendly
1.1.1 - 2024-10-16 #
- updated README.md for better clarity, readability and formatting
1.1.0 - 2024-10-16 #
- updated example app pubspec.yaml with sdk: ">=3.0.0 <4.0.0"
1.0.10 - 2024-10-16 #
- updated README.md to show screenshots properly
1.0.9 - 2024-10-16 #
Improved README Documentation #
- ๐ Enhanced README Documentation - Complete overhaul of README with professional formatting and responsive design
- โก Easiest Setup Guide - Added ultra-simple 2-line setup instructions with MaterialApp example
- ๐ฑ Mobile-Responsive Screenshots - Images now stack vertically on mobile devices with CSS media queries
- ๐ฏ Professional Layout - Replaced centered table layouts with clean, left-aligned professional sections
- ๐ Comprehensive Logging Guides - Detailed explanations for both API logs and general logs tabs
- โจ Enhanced Features Table - Added long press floating button feature with 4 detailed interaction methods
- ๐จ Modern Badges and Styling - Updated to for-the-badge style badges with Flutter/Dart technology indicators
- ๐ Improved Navigation - Added collapsible table of contents and better section organization
- ๐ง Better Code Examples - More practical examples with real-world usage patterns and best practices
1.0.8 - 2024-10-16 #
Added #
- ๐ฌ Simple Error Display - Shows navigation error directly in the floating logger widget when navigation fails
- ๐ Better Developer Experience - Navigation errors now show both console output and visual in-widget message
Fixed #
- ๐ง Navigation Context Issues - Simplified error handling with reliable in-widget display and console output
- ๐ฏ Error Visibility - Users will always see navigation errors with clear instructions and code examples
1.0.7 - 2024-10-16 #
Added #
- ๐ฌ User-Friendly Error Dialog - Added helpful dialog that appears when navigation fails, showing step-by-step solution
- ๐ Better Developer Experience - Navigation errors now show both console output and visual dialog with code examples
Improved #
- ๐ฏ Error Handling - Enhanced navigation error reporting with clear instructions and selectable documentation link
1.0.6 - 2024-10-16 #
Fixed #
- ๐ง Navigator Key Handling - Improved navigation logic to properly handle cases where
navigatorKey.currentStateis null - ๐ฑ Navigation Robustness - Better fallback mechanism when provided navigator key is not ready yet
1.0.5 - 2024-10-16 #
Fixed #
- ๐ง Flutter Compatibility - Replaced
Color.withValues()withColor.withOpacity()for better compatibility with older Flutter versions - ๐ฑ iOS Build Fix - Fixed Xcode build errors related to undefined
withValuesmethod
1.0.4 - 2024-10-16 #
Fixed #
- ๐ง Path Dependency Compatibility - Changed
pathdependency from^1.9.1to^1.9.0to be compatible with Flutter SDK 3.24.5 - ๐ฆ Flutter SDK Compatibility - Fixed version solving issues with flutter_test dependency conflicts
1.0.3 - 2024-10-16 #
Changed #
- ๐ง Dart SDK Compatibility - Lowered minimum Dart SDK requirement from
^3.8.1to>=3.0.0 <4.0.0 - ๐ฆ Wider Compatibility - Package now works with Dart SDK 3.0.0 and above, including 3.5.x versions
Fixed #
- ๐ Dependency Resolution - Fixed version solving issues for projects using Dart SDK < 3.8.1
1.0.2 - 2024-10-15 #
Changed #
- โจ Synchronous Methods - Removed unnecessary async/await from visibility and preference methods
- ๐ Better Performance - Visibility methods are now synchronous since they don't perform async operations
- ๐ฏ Cleaner API - No need for
awaitwhen checking visibility or toggling
1.0.1 - 2024-10-15 #
Added #
- ๐ Additional Methods -
getSavedPosition(),savePosition(),clearPreferences(),initialize()now available throughFlutterAwesomeLogger
## [1.0.0] (2024-10-15)
### ๐ Major Release - Stable API
This release marks the first stable version of Flutter Awesome Logger with a clean, production-ready API.
### Added
- ๐ญ **Factory Pattern Implementation** - Clean access to logger through `FlutterAwesomeLogger.loggingUsingLogger`
- ๐ฏ **Simplified API** - Single entry point for logger access without exposing internal implementation
- ๐ **Enhanced Documentation** - Updated README with comprehensive factory pattern examples
- ๐ง **Better Encapsulation** - Internal logging classes are no longer directly exposed
### Changed
- ๐ **New Recommended Usage** - `final logger = FlutterAwesomeLogger.loggingUsingLogger;`
- ๐ฆ **Cleaner Exports** - Only necessary classes and configs are exported
- ๐ **Updated Examples** - All code examples now use the new factory pattern
- ๐จ **Improved Developer Experience** - More intuitive API design
### Technical
- ๐๏ธ **Static Getter Implementation** - Added static `loggingUsingLogger` getter to `FlutterAwesomeLogger` widget class
- ๐งน **Code Cleanup** - Removed unnecessary factory classes and simplified architecture
- ๐ **Maintainability** - Easier to maintain and extend in future versions
### Migration Guide
If you were using the logger directly:
```dart
// Old way (still works but not recommended)
import 'package:flutter_awesome_logger/src/core/logging_using_logger.dart';
final logger = LoggingUsingLogger();
// New way (recommended)
import 'package:flutter_awesome_logger/flutter_awesome_logger.dart';
final logger = FlutterAwesomeLogger.loggingUsingLogger;
All existing functionality remains the same - only the access pattern has been improved.
0.1.9 - 2024-10-14 #
Added #
- ๐คณ Shake to Enable Logger - Shake your device to enable the entire logger system when it's disabled (perfect for production builds)
- ๐ฏ Dual Shake Detection System - Separate detectors for toggle visibility vs enable logger functionality
- ๐๏ธ Smart State Management - Automatic switching between shake detectors based on logger state
Changed #
- ๐ Updated Shake Package - Upgraded to shake ^3.0.0 with improved callback signatures
- ๐ Clearer Property Names - Renamed
enableShakeToToggletoenableShakeToShowHideFloatingButtonandenableShakeToEnabletoenableShakeToEnableLogger - ๐จ Enhanced Configuration - More descriptive parameter names for better developer experience
Fixed #
- ๐ Flutter Analyze Issues - Fixed all linting errors and warnings
- ๐ง Callback Type Compatibility - Updated shake detector callbacks to match new package API
- ๐ Documentation Updates - Corrected interceptor class name and updated version references
Technical #
- ๐๏ธ Proper Resource Management - Only one shake detector active at a time for optimal performance
- ๐ฏ Type Safety - Improved type checking and eliminated unnecessary type assertions
- ๐ Code Quality - All Flutter analyze checks pass with zero issues
0.1.8 - 2024-10-14 #
Added #
- ๐ฏ Shake to Toggle - Shake your device to show/hide the floating logger button(Only active when logger is enabled)
0.1.7 - 2024-10-14 #
Added #
- โธ๏ธ Pause/Resume Logging - Global pause state that temporarily stops all logging (console output and storage)
- ๐ฏ Visual Pause Indicators - Floating button changes color/icon when logging is paused, plus banner in logger history
- ๐ฎ Pause Controls - Long press floating button opens options menu with pause/resume, plus dedicated button in app bar
- ๐ Async Logger Initialization -
enabledparameter now acceptsFutureOr<bool>for conditional initialization - ๐๏ธ Simplified API - Removed unnecessary
storeLogsandautoInitializeparameters
Changed #
- ๐ Unified Control - Single
enabledparameter now controls both floating logger visibility AND log storage - ๐ฑ Enhanced Floating Logger - Better visual feedback and more intuitive controls
- ๐จ Improved UI - Pause banner in logger history page with clear messaging and quick resume action
- ๐ Updated Documentation - Cleaner examples and better explanations of async capabilities
Fixed #
- ๐ API Logging Pause Issue - API logs now properly respect the global pause state
- ๐ฏ Configuration Simplification - Removed confusing parameters that served no real purpose
- ๐ง Code Cleanup - Removed dead code and unnecessary complexity
Breaking Changes #
- โ ๏ธ
AwesomeLoggerConfig.storeLogsremoved - UseFlutterAwesomeLogger.enabledto control storage - โ ๏ธ
FlutterAwesomeLogger.autoInitializeremoved - No longer needed - โ ๏ธ
FlutterAwesomeLogger.enabledtype changed - Now acceptsFutureOr<bool>instead ofbool
Technical #
- ๐๏ธ Future Resolution - Proper async handling in widget lifecycle
- ๐ฏ State Management - Improved pause state synchronization across UI components
- ๐ Performance - Cleaner initialization logic and reduced unnecessary operations
0.1.6 - 2024-10-14 #
- updated dependencies and flutter analysis fixes.
0.1.5 - 2024-10-13 #
Added #
- added screenshots showcasing the flutter_awesome_logger capabilities to README.md
0.1.4 - 2024-10-13 #
Added #
- ๐ฏ Comprehensive unfocus functionality - Search field unfocuses on all interactions
- ๐ Smart keyboard management - Dismisses keyboard when scrolling, tapping buttons, or interacting with UI
- ๐ฑ Enhanced mobile UX - Follows platform conventions for keyboard behavior
Fixed #
- ๐ง Layout issues in example app - Fixed ParentDataWidget errors and pixel overflow
- ๐จ Responsive design improvements - Better layout handling for different screen sizes
- ๐ SingleChildScrollView integration - Proper scrolling behavior without layout conflicts
Improved #
- โจ๏ธ Keyboard interaction patterns - Consistent unfocus behavior across all tabs
- ๐ฏ Touch interactions - All buttons, filters, and controls dismiss keyboard automatically
- ๐ User experience - Smoother navigation and interaction flow
Technical #
- ๐๏ธ Widget hierarchy fixes - Resolved Expanded/Flex widget constraint issues
- ๐ฑ Scroll view optimization - Proper handling of unbounded height constraints
- ๐ฏ Event handling - Added FocusScope management to all interactive elements
0.1.3 - 2024-10-13 #
Changed #
- ๐ซ Removed SharedPreferences dependency - No longer stores logs or preferences locally
- ๐ In-memory storage - Visibility and position are now stored only for current session
- ๐ฆ Lighter package - Reduced dependencies for better performance
Breaking Changes #
- โ ๏ธ Persistent storage removed - Floating logger position and visibility reset on app restart
- ๐ฑ Session-only state - All preferences are cleared when app closes
0.1.2 - 2024-10-13 #
- added correct usage of navigator key in debug print and example app
0.1.1 - 2024-10-13 #
- refactor: rename AwesomeLoggerInterceptor to FlutterAwesomeLoggerDioInterceptor
0.1.0 - 2024-10-13 #
Added #
- Initial release of Flutter Awesome Logger
- Core logging functionality with configurable options
- Floating logger button with draggable interface
- Automatic API logging with Dio interceptor
- Beautiful UI for viewing log history
- Support for multiple log levels (debug, info, warning, error, verbose)
- Persistent log storage using SharedPreferences
- Search and filter capabilities in log viewer
- Customizable floating button appearance
- Comprehensive configuration options
- Example app demonstrating all features
Features #
- ๐ฑ Floating logger button that stays accessible
- ๐ Automatic API request/response logging
- ๐จ Modern, clean UI design
- ๐ Multiple log levels with color coding
- ๐พ Persistent storage across app sessions
- ๐ Search and filter functionality
- ๐ฏ Highly configurable settings
- ๐ฑ Responsive design for all screen sizes