☎️ Advanced error handler and logger for dart and flutter apps
Alternatives To Talker
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Flutter Boilerplate Project2,011
a month ago32mitDart
A boilerplate project created in flutter using MobX and Provider.
Talker17213 days ago34August 27, 20228mitDart
☎️ Advanced error handler and logger for dart and flutter apps
Flogs164417 months ago18April 26, 202228mitDart
An Advanced Logging Framework develop in flutter that provides quick & simple logging solution.
Lumberdash151282 years ago8March 08, 202110mitDart
Do you need logs? Lumberdash is the answer!
4 days ago3bsd-3-clauseDart
MXLogger 是基于mmap内存映射机制的跨平台日志库,支持AES CFB 128位加密,支持iOS Android Flutter。核心代码使用C/C++实现, Flutter端通过ffi调用,性能几乎与原生一致。 底层序列化使用Google开源的flat_buffers实现,高效稳定。
Flutter Fimber101716a year ago29May 15, 202212apache-2.0Dart
Fimber is Flutter logger inspired by Timber (logger API for Android)
3 years ago7mitDart
🔖 📱 A book logging app built with Flutter
Flutter Plugin58
110 months ago21June 25, 20227otherDart
Flutter plugin for AppSpector SDK. With AppSpector you can remotely debug your app running in the same room or on another continent in real-time.
a year ago11August 19, 20204mitDart
LetLog is a Flutter log system that supports both IDE and in-app display, and supports log and network
5 months ago32apache-2.0Kotlin
An extensive logging framework developed for flutter apps.
Alternatives To Talker
Select To Compare

Alternative Project Comparisons

Advanced error handler and logger for dart and flutter apps

Log your app actions, catch and handle exceptions and errors, show alerts and share log reports
Show some ❤️ and star the repo to support the project!

codecov License: MIT Repository views GitHub
talker talker_flutter talker_logger

For better understanding how it works check Web Demo page


🚀  The main goal of the project is provide ability to understand where the error occurs in a shortest possible time
✅  Compatible with any state managements
✅  Works with any crash reporting tool (Firebase Crashlytics, Sentry, custom tools, etc.)
✅  Logs UI output of Flutter app on the screen
✅  Allows sharing and saving logs history and error crash reports
✅  Displays alerts for UI exceptions.
✅  Built-in support for dio HTTP logs
✅  Built-in support for BLoC logs
✅  Check all features


Talker is designed for any level of customization.

Package Version Description
talker Pub Main dart package for logging and error handling
talker_flutter Pub Flutter extensions for talker
Colored Flutter app logs (iOS and Android), logs list screen, showing error messages at UI out of the box, route observer, etc
talker_logger Pub Customizable pretty logger for dart/flutter apps
talker_dio_logger Pub Best logger for dio http calls
talker_bloc_logger Pub Best logger for BLoC state management library

Table of contents

Get Started

Follow these steps to the coolest experience in error handling

Add dependency

  talker: ^3.0.0

Easy to use

You can use Talker instance everywhere in your app
Simple and concise syntax will help you with this

  import 'package:talker/talker.dart';

  final talker = Talker();

  /// Jsut logs
  talker.warning('The pizza is over 😥');
  talker.debug('Thinking about order new one 🤔');

  // Handling Exception's and Error's
  try {
    throw Exception('The restaurant is closed ❌');
  } catch (e, st) {
    talker.handle(e, st);

  /// Jsut logs'Ordering from other restaurant...');'Payment started...');
  talker.good('Payment completed. Waiting for pizza 🍕');

More examples you can get there

⚙️ Customization

Configure the error handler and logger for yourself

final talker = Talker(
    settings: const TalkerSettings(
      /// You can enable/disable all talker processes with this field
      enabled: true,
      /// You can enable/disable saving logs data in history
      useHistory: true,
      /// Length of history that saving logs data
      maxHistoryItems: 100,
      /// You can enable/disable console logs
      useConsoleLogs: true,
    /// Setup your implementation of logger
    logger: TalkerLogger(),

More examples you can get here


TalkerObserver is a mechanism that allows observing what is happening inside Talker from the outside.

You can use it to transmit data about logs to external sources such as Crashlytics, Sentry, Grafana, or your own analytics service, etc.

import 'package:firebase_crashlytics/firebase_crashlytics.dart';
import 'package:talker/talker.dart';

class CrashlitycsTalkerObserver extends TalkerObserver {

  void onError(err) {
        reason: err.message,

  void onException(err) {
        reason: err.message,

final craslyticsTalkerObserver = CrashlitycsTalkerObserver();
final talker = Talker(observer: craslyticsTalkerObserver);

Talker Flutter

Get Started Flutter

Talker Flutter is an extension for the Dart Talker package that adds extra functionality to make it easier for you to handle logs, errors, and exceptions in your Flutter applications.

Add dependency

  talker_flutter: ^3.1.1


import 'package:talker_flutter/talker_flutter.dart';

final talker = TalkerFlutter.init();

// Handle exceptions and errors
try {
  // your code...
} catch (e, st) {
    talker.handle(e, st, 'Exception with');

// Log your app info'App is started');
talker.critical('❌ Houston, we have a problem!');
talker.error('🚨 The service is not available');

❗️ Log messages integrity

Most of flutter logging packages either cut messages in the console, or cant dope colored messages in the iOS console. But Talker is not one of them...

Talker uses the optimal method for logging depending on the Operating system on which it runs

But to do this, you need to use the initialization given in the example. Only with TalkerFlutter.init()

As result of this method you will get the same instance of Talker as when creating it through the Talker() constructor but with logging default initialization


Often you need to check what happening in the application when there is no console at hand.
There is a TalkerScreen widget from talker_flutter package for this situations.

For better understanding how it works check Web Demo page

TalkerScreen TalkerFilter TalkerActions TalkerSettings

Easy to use

You can use TalkerScreen everywhere in your app
At Screen, BottomSheet, ModalDialog, etc...

import 'package:talker_flutter/talker_flutter.dart';

final talker = TalkerFlutter.init();

    builder: (context) => TalkerScreen(talker: talker),

See more in TalkerScreen usage example


If you want to check the status of your application in a short time
TalkerMonitor will be the best solution for you

Monitor is a filtered quick information about http requests, exceptions, errors, warnings, etc... count

You will find Monitor at the TalkerScreen page

For better understanding how it works check Web Demo page


In addition talker_flutter is able to show default and custom error messages and another status messages via TalkerWrapper

import 'package:talker_flutter/talker_flutter.dart';

final talker = TalkerFlutter.init();

  talker: talker,
  options: const TalkerWrapperOptions(
    enableErrorAlerts: true,
  child: /// Application or the screen where you need to show messages

More Features And Examples

Custom UI error messages

In order to understand in more details - you can check this article "Showing Flutter custom error messages"

TalkerWrapper usage example

ShopApp example

See full application example with BLoC and navigation here

The talker_flutter package have a lot of another widgets like TalkerBuilder, TalkerListener, etc. You can find all of them in code documentation.


In addition to the basic functionality, talker was conceived as a tool for creating lightweight loggers for the main activities of your application

You can use ready out of the box packages like talker_dio_logger and talker_bloc_logger or create your own packages.

Talker Dio Logger

Lightweight, simple and pretty solution for logging if your app use dio as http-client

This is how the logs of your http requests will look in the console

Getting started

Follow these steps to use this package

Add dependency

  talker_dio_logger: ^2.0.0


Just add TalkerDioLogger to your dio instance and it will work

final dio = Dio();
        settings: const TalkerDioLoggerSettings(
          printRequestHeaders: true,
          printResponseHeaders: true,
          printResponseMessage: true,

Using with Talker

You can add your talker instance for TalkerDioLogger if your app already uses Talker. In this case, all logs and errors will fall into your unified tracking system

final talker = Talker();
final dio = Dio();
        talker: talker,
        settings: const TalkerDioLoggerSettings(
          printRequestHeaders: true,
          printResponseHeaders: true,

Talker BLoC Logger

Lightweight, simple and pretty solution for logging if your app use BLoC as state managment

This is how the logs of your BLoC's event callign and state emits will look in the console

Getting started

Follow these steps to use this package

Add dependency

  talker_bloc_logger: ^2.0.0


Just set TalkerBlocObserver as field and it will work

import 'package:talker_bloc_observer/talker_bloc_observer.dart'; = TalkerBlocObserver();

Using with Talker

You can add your talker instance for TalkerDioLogger if your app already uses Talker.

In this case, all logs and errors will fall into your unified tracking system

import 'package:talker_bloc_observer/talker_bloc_observer.dart';
import 'package:talker/talker.dart';

final talker = Talker(); = TalkerBlocObserver(talker: talker);

Features list

✅ Logging

  • ✅ Filtering

  • ✅ Formatting

  • ✅ Color logs

  • ✅ LogLevels (info, verbose, warning, debug, error, critical, fine, good)

  • ✅ Customization for filtering, formatting and colors

  • 🚧 Separation from system's and another flutter logs

  • 🚧 Collapsible feature for huge logs

  • 🚧 Logs grouping

✅ Errors handling

  • ✅ Errors and Exceptions identification
  • ✅ StackTrace
  • 🚧 Error level identification

✅ Flutter

  • ✅ Application logs sharing

  • ✅ HTTP cals logging

  • ✅ TalkerScreen - Showing logs list in Flutter app UI

  • ✅ TalkerMonitor - A short summary of your application status. How much errors, how much warnings in Flutter app UI

  • ✅ TalkerRouteObserver - router logging (which screen is opened, which is closed)

  • ✅ TalkerWrapper - Showing errors and exceptions messages at UI

  • ✅ TalkerListener - Listen logs data at application UI

  • ✅ TalkerBuilder - UI builder to Logs List showing custom UI

  • ✅ Android/Windows/Web application logs colors

  • ✅ iOS/MacOS application logs colors

  • ✅ Talker configuration chnages from TalkerFlutter

✅ Logs and errors history saving

✅ TalkerObserver - handle all logs, errors, exceptions for integrations (Sentry, Crashlytics)


Error handling is a very important task
You need to choose carefully if you want to use a package for exceptions handling solution
Therefore, the project is 100% covered by tests

Additional information

The project is under development and ready for your pull-requests and issues 👍
Thank you for support ❤️

Thanks to all contributors of this package

For help getting started with 😍 Flutter, view online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Popular Flutter Projects
Popular Logger Projects
Popular User Interface Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Exception Handling
Error Handling
Crash Reporting