패키지, 저장소 및 앱 카테고리 검색

패키지 상세v0.0.1

cross_logger

크로스 플랫폼 로거

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
56
좋아요
0
Pub 점수
110

패키지 설치

flutter pub add cross_logger

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

Cross_logger는 Flutter용 크로스 플랫폼 로깅 패키지로, Android, iOS, Web, macOS, Windows 및 Linux에서 일관된 인터페이스를 제공합니다. 구조화된 로깅을 지원하며 사용자 정의 가능한 레벨(예: debug, info, warning, error)을 제공하고 콘솔, 파일 또는 외부 서비스와 같은 다양한 출력 대상과 원활하게 통합됩니다. 디버깅 및 모니터링을 위해 설계되어 개발자가 여러 플랫폼 간에 애플리케이션 동작을 일관되게 추적할 수 있도록 도와줍니다. 가볍고 설정이 쉬우며 개발 및 운영 환경 모두에 적합합니다.

사용 사례

  • 다중 플랫폼 앱 디버깅
  • 실시간 앱 동작 모니터링
  • 문제 분석을 위한 로그 캡처
  • CI/CD 파이프라인과의 통합
  • 장치 간 중앙 집중형 로그 관리

주요 기능

  • 모든 주요 Flutter 플랫폼을 지원합니다
  • 사용자 정의 로그 레벨
  • 구조화된 로깅 형식
  • 확장 가능한 출력 핸들러
  • 간단한 API, 최소 설정

적합한 대상

  • 크로스플랫폼 플러터 앱을 개발하는 개발자
  • 일관된 로깅 관행이 필요한 팀
  • 세부적인 런타임 진단이 필요한 애플리케이션
  • 엄격한 디버깅 요구 사항을 가진 프로젝트
  • 관측성 요구 사항이 있는 프로덕션 앱

고려 사항

  • 고급 라우팅을 위해 추가 구성이 필요할 수 있습니다
  • 고주파 로깅 시나리오에서의 성능 영향
  • 파일 기반 로깅은 디스크 공간 관리가 필요할 수 있습니다
  • 통합 없이 실시간 원격 로그 스트리밍을 위한 설계가 아님
  • 기업 솔루션과 비교해 내장된 필터링 기능이 제한적입니다

원본 README

연결된 소스 저장소의 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.)

카테고리

의존성

의존성 목록 8 개

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.