log_prism 0.0.2
log_prism: ^0.0.2 copied to clipboard
A Flutter debug logging library that provides non-blocking, lightweight logging with file persistence using Dart Isolates.
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.
0.0.1 2024-01-XX #
Added #
- Core LogPrism class with singleton pattern for easy access
- Non-blocking Isolate-based logging - All log operations run in background Isolate
- File persistence with automatic log rotation and capacity management
- Multiple log levels: debug, info, warning, error
- Configurable settings via LogPrismConfig class
- Console output with 4 different display styles:
- Compact: Simple timestamped logs with level indicators
- Colorful: Enhanced with emojis and visual separators
- Minimal: Just level and message
- Full: Complete timestamp with colorized levels
- Cross-platform ANSI color support for beautiful console output
- LogViewerWidget for in-app log viewing with multiple display modes
- LogSummaryWidget for compact status bar-style error monitoring
- Automatic capacity management - Deletes oldest files when storage limit exceeded
- Configurable release mode behavior - Can be disabled in production
- Log file management with daily rotation and cleanup
- Stack trace support for error logging
- Comprehensive test suite covering core functionality
Features #
- Zero main thread impact - all logging operations are non-blocking
- Configurable total storage limit (default: 50MB)
- Multiple widget display modes: standard, compact, minimal, oneline
- Automatic cleanup of old log files
- Cross-platform color support (macOS, Linux, Windows Terminal)
- Easy integration with existing Flutter projects
Technical Details #
- Uses Dart Isolates for background processing
- File storage in documents/logprism/ directory
- JSON-based log entry serialization
- Automatic terminal color detection
- Memory efficient implementation
- Configurable console output filtering