bonsai 1.0.1 copy "bonsai: ^1.0.1" to clipboard
bonsai: ^1.0.1 copied to clipboard

A tiny Dart logging package using dart:developer logging, API inspired by Android logging.

Bonsai #

Features #

A tiny Dart logging package.

Based loosely on "Android style" debug logging and somewhat influenced by Square's logcat

Uses the logging functionality from the dart:developer package.

Getting started #

Just import the package and call the init method somewhere, like at the start of your main():

import 'package:bonsai/bonsai.dart';

void main() {
  const debug = true;
  if (debug) {
    Log.init();
  }
  //...
}

Usage #

Bonsai adds a static extension method onto Object to make basic usage very simple:


class MyClass {
  void doSomething() {
    log("hello I'm doing something");
  }
}

Of course more custom usage is also available:

 Log.d('Main', 'custom tags are also available as it sending custom data:', data: myObj);

  // there is also a specific method for errors:
  try {
    throw UnsupportedError('soemthing went wrong');
  } catch (e, st) {
    Log.e('some error happened', e, st);
  }

In Flutter apps, the logging will be sent to usual app console output. However if you are using this for a Dart command line application or want output when running unit tests for Flutter apps, you'll likely want to enable output to stderr:

 // pass true to enable output to stderr
 Log.init(true);

Example stdout/stderr commandline output looks like:

FINE: 2021-10-01 16:29:54.573106: [MyClass] hello I'm doing something
FINE: 2021-10-01 16:29:54.576928: [Main] custom tags are also available
SEVERE: 2021-10-01 16:29:54.577526: some error happened
FormatException: something went very wrong
#0      main (file:///home/maks/work/bonsai_dart/example/bonsai_example.dart:16:5)
#1      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:297:19)
#2      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192:12)

The name? #

Following in the great heritage of naming Logging packages in Android: logging, trees, tiny logging package... :-)

10
likes
150
pub points
46%
popularity

Publisher

verified publishermanichord.com

A tiny Dart logging package using dart:developer logging, API inspired by Android logging.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

logging

More

Packages that depend on bonsai