Skip to content

kumo01GitHub/revere

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

186 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Revere Logger

CI Codacy Badge Codacy Badge License: BSD-3-Clause PRs Welcome

Revere is a modular logging package for Dart/Flutter. Plug in only the transports you need — console, file, Firebase, notifications, and more — and get consistent log routing across mobile, desktop, and server with a single API.

Ideal if you want a logger that's ready to use in minutes, stays lean by including only the transports you need, and already covers the practical production scenarios — file rotation, Crashlytics, native platform logging, and more — without extra glue code.

Design Philosophy

  1. Flexibility & Extensibility
  • Architecture allows easy addition and switching of any transport (output backend).
  • Choose the optimal configuration for your use case.
  1. Consistent Multi-Platform Experience
  • Provides a unified logging experience across Flutter apps, servers, Android/iOS native, and cloud integrations.
  1. Production-Oriented
  • Focus on features truly needed in the field, such as log rotation, remote delivery, and failure notifications.
  1. Simple API & Easy Adoption
  • Intuitive API design and modular structure allow you to adopt only what you need.

Quick Start

import 'package:revere/core.dart';
import 'package:file_transport/file_transport.dart';

final logger = Logger();
logger.addTransport(ConsoleTransport(level: LogLevel.info));
logger.addTransport(FileTransport('/var/log/app.log'));

await logger.info('Server started');
await logger.error('Something failed', error: e, stackTrace: st);

For advanced usage — LoggerMixin, ErrorTrackerMixin, buffered transport, and per-transport config — see the revere package README.

Packages

Package Status Role
revere pub package pub points Core logger primitives: Logger, Transport, LogEvent, LogLevel, built-in console and HTTP transports
revere_flutter_extension pub package pub points Flutter error tracking and integration (global error hooks, etc.) are provided in this package.
revere_debug_extension pub package pub points Flutter in-app metrics/log viewer and debug UI (real-time metrics collection, log/metrics display widgets, floating debug button, stateful log history).
file_transport pub package pub points File output and rolling file output
websocket_transport pub package pub points WebSocket streaming transport
firebase_transport pub package pub points Firebase Analytics and Crashlytics transports
android_log_transport pub package pub points Android Logcat transport
swift_log_transport pub package pub points Apple swift-log transport for iOS/macOS
notification_transport pub package pub points Local notification transport (mobile/desktop)
sentry_transport pub package pub points Sentry breadcrumb and error transport

Features

  • Multiple transports per logger (e.g. file + Firebase + console)
  • Per-transport config (format, color, headers, etc.)
  • Log level threshold per transport
  • Fully asynchronous, awaitable logging
  • Easy extension via abstract base class

Package Documentation

See each package README for setup, configuration, and platform-specific notes.

How to Extend

Implement the Transport abstract class and add it via logger.addTransport(). Details and a worked example are in the revere package README.

About

Simple and practical logger for Dart/Flutter.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors