ispectify_bloc plugs the bloc / flutter_bloc ecosystem into the ISpect toolkit. It forwards every event, state change, transition, and error through a single BlocObserver so you can see the entire state-management timeline in the log viewer.
- Events, transitions, errors, create / close lifecycle hooks.
- Per-type filtering — mute specific
Bloc/Cubitclasses without touching their code. - Zero-config: set
Bloc.observerand you're done.
Install
dependencies:
flutter_bloc: ^8.0.0
ispectify: ^5.0.0-dev28
ispectify_bloc: ^5.0.0-dev28
Quick start
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:ispect/ispect.dart';
import 'package:ispectify_bloc/ispectify_bloc.dart';
ISpect.run(
() => runApp(const MyApp()),
logger: logger,
onInit: () {
Bloc.observer = ISpectBlocObserver(logger: logger);
},
);
The observer emits logs under the bloc-event, bloc-transition, bloc-change, bloc-error, and bloc-create/bloc-close log-type keys — filter them in the debug panel or via ISpectSettingsState.disabledLogTypes.
The ISpect toolkit
ISpect is a modular monorepo. Install only what your project needs — each package works independently.
| Package | What it does |
|---|---|
ispect |
Flutter UI — debug panel, log viewer, navigation observer, inspector integration |
ispect_layout |
Visual layout inspector — sizes, constraints, decorations, compare mode, color picker |
ispectify |
Pure-Dart logging core — typed log entries, filtering, tracing, observers |
ispectify_dio |
Dio HTTP interceptor with automatic redaction |
ispectify_http |
http package interceptor with automatic redaction |
ispectify_ws |
WebSocket traffic capture with automatic redaction |
ispectify_db |
Database operation tracing (SQL, ORM, KV stores) |
ispectify_bloc |
BLoC event / state / transition observer |
Contributing
Contributions are welcome. See CONTRIBUTING.md for guidelines, and open issues or pull requests at the ISpect repository.
License
MIT — see LICENSE.