ispectify_bloc plugs the bloc and flutter_bloc ecosystem into the ISpect toolkit. One BlocObserver forwards every event, state change, transition, and error through the log pipeline, so the whole state-management timeline shows up in the log viewer.
- Events, transitions, errors, and create/close lifecycle hooks.
- Per-type filtering. Mute specific
BlocorCubitclasses without touching their code. - Zero configuration. Set
Bloc.observerand the rest is done.
Install
dependencies:
flutter_bloc: ^8.0.0
ispectify: ^5.0.0
ispectify_bloc: ^5.0.0
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, bloc-create, and bloc-close log-type keys. Filter them in the debug panel or through ISpectSettingsState.disabledLogTypes.
The ISpect toolkit
ISpect is a modular monorepo. Pick the packages your project needs. Each one works on its own.
| Package | What it does |
|---|---|
ispect |
Flutter UI: debug panel, log viewer, navigation observer, inspector integration. |
ispect_layout |
Visual layout inspector with sizes, constraints, decorations, compare mode, and a 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 for SQL, ORMs, and KV stores. |
ispectify_bloc |
BLoC event, state, transition, and error observer. |
Contributing
Contributions are welcome. See CONTRIBUTING.md for guidelines, and open issues or pull requests at the ISpect repository.
License
MIT. See LICENSE.