cross_logger 0.0.1
cross_logger: ^0.0.1 copied to clipboard
Cross Platform Logger
📝 Encrypted Logging Package (Flutter / Dart) #
A lightweight, modular logging system for Flutter and Dart applications that supports:
- ✅ Local storage via IndexedDB (using
idb_shim
) - 🔒 Encryption using AES (via
encrypt
) - 🌐 WebSocket real-time logging
- ☁️ HTTP blob upload support
- 📦 Built for web-first apps with expandability for mobile support
📦 Installation #
Add the following dependencies to your pubspec.yaml
:
🧱 Architecture Overview #
- This package is structured with clean architecture principles:
- EncryptionService: Handles AES encryption/decryption.
- LogEntry: Data model with encrypted log message.
- Log: Domain entity.
- LocalDatabase: IndexedDB wrapper for storing logs.
- HTTPHandler: Uploads logs as files to a remote server.
- WebSocketClient: Sends logs over WebSocket.
- LogUseCase: Orchestrates log flow (store, encrypt, send).
- LoggerFacade: One-stop interface to log messages.
🚀 Usage #
- Initialize the logger final logger = await LoggerFacade.initialize( 'ws://your-websocket-url', true, // encryption enabled );
- await logger.log("Hello, this is a test log!");
✅ Features #
Feature | Status Local logging | ✅ Done AES Encryption | ✅ Done WebSocket send | ✅ Done HTTP blob upload | ✅ Done Test coverage | ✅ Done
✨ Contributions #
PRs welcome! Feel free to fork, improve, or extend the system with new logging channels (e.g. Firebase, Sentry, etc.)