buoy_console
Buoy console capture for Flutter — captures print, debugPrint, and uncaught
errors and renders them in a 1:1 Chrome-DevTools-style Console panel that streams
live to Buoy Desktop.
Part of the Buoy devtools suite. Ports @buoy-gg/console
1:1: the same level filter chips, text/regex search, preserve-log, repeat
collapse, group nesting, and sync protocol.
Usage
To capture print, wrap runApp in BuoyConsole.runZoned (a Zone is the only
way to intercept print). debugPrint and uncaught errors are captured with or
without the zone.
import 'package:buoy/buoy.dart';
void main() {
BuoyConsole.runZoned(() {
runApp(const MyApp());
});
}
MaterialApp(
builder: (context, child) =>
BuoyDevTools(child: child ?? const SizedBox.shrink()),
);
Or register the tool directly (without the umbrella):
import 'package:buoy_console/buoy_console.dart';
void main() {
if (kDebugMode) registerBuoyConsole();
BuoyConsole.runZoned(() => runApp(const MyApp()));
}
If you never call BuoyConsole.runZoned, call BuoyConsole.install() once to
still capture debugPrint, FlutterError, and uncaught async errors — only
print requires the zone.
Preserve log
Off by default: the buffer is in-memory and a hot restart / relaunch starts fresh. Turn on "Preserve log" in the console's Filters panel to persist the buffer across reloads (Chrome's "Preserve log").
License
See buoy.gg. Proprietary — © Buoy.
Libraries
- buoy_console
- Buoy console capture for Flutter.