FLUTTER ECOSYSTEM

RajKavadia/cross_logger

RajKavadia/cross_logger open-source repository details.

cross_logger 프로젝트 이미지
Stars
0
Forks
0
최근 푸시(UTC)
2025. 4. 19.
프로젝트 상태
활성
Raj GitHub avatar
GITHUB User

Raj ↗

The world can be changed with a few thousands of lines of code, I am willing to contribute a few hundred.

Bengalore
언어Dart

이 저장소가 배포한 패키지

사용 중인 의존성

의존성 목록 12 개

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

README 펼치기 / 접기

📝 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.)