cross_logger 0.0.1 copy "cross_logger: ^0.0.1" to clipboard
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 #

  1. Initialize the logger final logger = await LoggerFacade.initialize( 'ws://your-websocket-url', true, // encryption enabled );
  2. 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.)