Logging Manager


Provides simple APIs for logging & managing logs. Uses the logger from pub.dev:logging.

If using flutter, import pub.dev:logging_manager_flutter instead.


  • LoggingTree is attached as a listener to logs sent from logger by the LoggingManager. Implementations are: PrintingColoredLogsTree, PrintingLogsTree, FormattedOutputLogsTree.
  • LoggingManager can be used to create a logger, listen to logs, change LoggingTrees.

Getting started

Start by importing this package in your project using

For Dart

dart pub add logging_manager

For Flutter

flutter pub add logging_manager

With Pub

pub add logging_manager


  1. Import this package in file.
import 'package:logging_manager/logging_manager.dart';
  1. Create a LoggingManager. Note: A LoggingTree is responsible for doing something with logs. If none provided, nothing will happen.
final logginManager = LoggingManager(
   tree: PrintingColoredLogsTree(),
  1. Get package:logging's logger. The Logging package's logger factory constructor returns a singleton instance from a matching name. The logger used in the above package also had '' as its name.
final logger = Logger('');
  1. Use it to log anything.
logger.info('Hello World');

Additional information

  • To catch errors from the Zone, you can use runZoneGuardedWithLogging.
  • To catch errors that happen outside of the main Isolate's context, install an error listener on the current Isolate with listenErrorsInIsolate(Isolate.current);
  • Please check the example for more usage information.
  • For more information about using the logger, check pub.dev:logging.


This library providers Logging, a wrapper around Logger which allows you to create child loggers by calling () on the instance. This is useful for creating loggers with different namespaces.