flutter_remote_logger 0.3.5
flutter_remote_logger: ^0.3.5 copied to clipboard
A comprehensive remote logging and profiling package for Flutter. Captures sessions, device info, and uploads logs to Firebase or custom backends.
0.3.5 #
- Maintenance: Finalized multiplatform support and removed legacy
android_idreferences. - Docs: Updated documentation for 0.3.5 release.
0.3.4 #
- Fix: Removed unused variables in uploaders.
- Feat: Added persistent device ID support for Desktop platforms (Windows, macOS, Linux).
- Docs: Improved API documentation.
- Refactor: Removed
android_iddependency. Android now uses a file-based UUID matching the Desktop implementation to allow multi-platform support on pub.dev. - Tests: Added unit tests for Desktop device ID generation.
- Tests: Added unit tests for Desktop device ID generation.
0.3.3 #
- Robustness: Enhanced error handling in
uploadCurrentSessionto prevent app crashes during file operations when storage is inaccessible. - Documentation: Added comprehensive SQL setup script for Supabase configuration in
README.md.
0.3.2 #
- Maintenance: Host app compatibility update. Upgraded
flutter_secure_storagedependency to^10.0.0.
0.3.1 #
- iOS ID Persistence: Implemented Keychain storage (via
flutter_secure_storage) for iOS Device ID. This ensures the ID persists even if the app is uninstalled and reinstalled, matching the behavior ofandroid_idon Android.
0.3.0 #
- Device ID Persistence: Restored
android_idusage for Android to ensure Device ID persists across app re-installs. This may cause the package to be labeled as "Android Only" on pub.dev, but it is necessary for consistent identification. - Nested Remote Paths: Added
remotePathparameter toRemoteLogger.initialize(). This allows checking logs into custom folder structures (e.g.project_b/v1.0/) in the remote storage bucket. - Breaking Change:
LogUploaderinterface methodsuploadSessionanduploadDeviceInfonow accept an optionalpathparameter.
0.2.8 #
- Cross-Platform Support: Removed dependency on
android_idto ensure the package is recognized as supporting non-Android platforms (iOS, Web, etc.). Android Device ID now falls back toBuild.IDviadevice_info_plus. (Reverted in 0.3.0 due to lack of persistence).
0.2.7 #
- API Compatibility: Restored
Future<void>return type tolog()method to fix build errors with existingawaitcalls. The implementation remains synchronous (blocking I/O) for safety, but wrapped in a Future.
0.2.6 #
- Synchronous Logging: The
log()method is now synchronous (voidreturn type) and uses blocking file I/O. This ensures logs are written before the application exits or proceeds, eliminating race conditions. Compatibility with existingawait log()calls is preserved (awaiting void).
0.2.5 #
- Improved Sync: Refined synchronization logic to use Process ID (PID) matching instead of file modification time. This prevents race conditions and ensures more robust coupling between Flutter and Native environments running in the same process.
0.2.4 #
- Cross-Platform Synchronization: Added
SessionSynchronizerto ensure Flutter and Android logs share the samegroupSessionIdby reading/writing a shared lock file (session.lock) in the app's document directory.
0.2.3 #
- Supabase Upload: Filenames now include
groupSessionIdif present (e.g.log_UUID_GROUPID.flutter.jsonl) to enable easier coupling with other platform logs. - Session Info: Added
groupSessionIdtoSessionInfomodel.
0.2.2 #
- Device ID: Changed Android Device ID generation to use
android_id(Settings.Secure.ANDROID_ID) instead ofBuild.IDto match native Android behavior and ensure consistency.
0.2.1 #
- Improved documentation for pub.dev compliance.
- Fixed lints regarding braces in control flow structures.
- Validated
.flutter.jsonlsuffix for log files.
0.2.0 #
- Session Synchronization: Added automatic session ID synchronization with native Android logs using a file-based lock mechanism.
- Platform Suffix: Log files are now saved with a
.flutter.jsonlsuffix to distinguish them from native logs. - Device ID: Exposed
deviceIdgetter for easy retrieval of the unique device identifier. - Disable Logging: Added
isEnabledparameter toinitialize()to globally disable logging and uploading. - Internal: Implemented
SessionSynchronizerlogic.
0.1.3 #
- Added
timefield toLogEntryfor human-readable ISO-8601 timestamps. - Automatic upload of
device_info.jsonto the device's log folder for easier identification. - Updated
RemoteLoggerto handle device info upload on initialization.
0.1.2 #
- Added
eventsstream toRemoteLoggerfor listening to upload success and errors. - Added
RemoteLoggerEvent,RemoteLoggerSuccess, andRemoteLoggerErrorclasses.
0.1.1 #
- Added automatic log uploading (periodic and on startup).
- Improved
RemoteLoggerinitialization to recover orphan sessions.
0.1.0 #
- Added
SupabaseLogUploaderfor Supabase integration. - Added documentation for Supabase setup.
0.0.1-beta1 #
- Initial release.
- Added
RemoteLoggerfor session-based logging. - Added
FileLogStoragefor local buffering. - Added
FirebaseLogUploaderfor backend integration. - Added device metadata capture.