color_observer_logger 0.0.13 copy "color_observer_logger: ^0.0.13" to clipboard
color_observer_logger: ^0.0.13 copied to clipboard

A color logger for for observer, which can help you to debug your blocs.

example/lib/main.dart

import 'package:color_observer_logger/color_observer_logger.dart';
import 'package:example/bloc/test_bloc.dart';
import 'package:example/bloc/test_cubit.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:logging/logging.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    //AnsiColor.showColor();
    Logger.root.level = Level.ALL;
    Bloc.observer = ColorBlocObserver(
      stackTracking: true,
      kIsWeb: kIsWeb,
      filter: ShowWhenFilter(
        [
          "TestLoginBloc",
          "TestCubit",
        ],
      ),
      blocColor: AnsiColor.fg(40),
      methodCount: 3,
      blocHightLightFilter: DefaultHighLightFilter(
        color: AnsiColor.fg(214),
        colorOnly: false,
      ),
    );
    final testLoginBloc = TestLoginBloc();
    final testCubit = TestCubit(0);
    return MultiBlocProvider(
      providers: [
        BlocProvider(
          create: (context) => testLoginBloc,
        ),
        BlocProvider(
          create: (context) => testCubit,
        ),
      ],
      child: Builder(builder: (context) {
        return MaterialApp(
          title: 'Flutter Demo',
          theme: ThemeData(
            colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
            useMaterial3: true,
          ),
          home: const MyHomePage(title: 'Flutter Demo Home Page'),
        );
      }),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});
  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    final testLoginBloc = context.read<TestLoginBloc>();
    final testCubit = context.read<TestCubit>();
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            ElevatedButton(
              onPressed: () {
                testLoginBloc.add(Success());
                testLoginBloc.add(Failed());
              },
              child: Text("testLoginBloc"),
            ),
            ElevatedButton(
              onPressed: () {
                List.generate(5, (index) => testCubit.update());
              },
              child: Text("testCubit"),
            ),
            ElevatedButton(
              onPressed: () {
                testLoginBloc.add(Error());
                testCubit.error();
              },
              child: Text("error"),
            ),
          ],
        ),
      ),
    );
  }
}
1
likes
0
points
89
downloads

Publisher

unverified uploader

Weekly Downloads

A color logger for for observer, which can help you to debug your blocs.

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

bloc, flutter, logging

More

Packages that depend on color_observer_logger