banner

Overview

CherriLog is perhaps the simplest and most useful log library for all dart program

Features

  • Log messages directly by calling static methods
  • Nice stacktrace formatter
  • Custom log levels support
  • Custom loggers:

TODOs

  • Log to file (Full Platform Path Support)
  • Highly customizable log format

Usage

  1. Add the dependency to your pubspec.yaml file
    Recommend to use command line:

    With Flutter

    flutter pub add cherrilog
    

    With Dart

    dart pub add cherrilog
    
  2. Import library

    import 'package:cherrilog/cherrilog.dart';
    
  3. Initialize cherrilog

    CherriLog.init(
      options: CherriOptions()
        ..logLevelRange = CherriLogLevelRanges.all
        ..useBuffer = false,
    ).logTo(CherriConsole()); // Use `CherriFile()` instead of `CherriConsole` if you want to log to file system
    
  4. Call log methods

    debug('This is a debug message');
    info('This is an info message');
    warning('This is a warning message');
    error('Something went wrong');
    fatal('Oh oh :(');
    

Log levels

Cherrilog provides a CherriLogLevel class to support custom level, and below is the default instances:

  • CherriLogLevel.fatal: Fatal errors
  • CherriLogLevel.error: Errors
  • CherriLogLevel.warning: Warnings
  • CherriLogLevel.info: Information messages
  • CherriLogLevel.debug: Debug messages

And you will also see nether and upperBond, these two instances is to help with comparison, don't use them directly.

You can find some predefined log level ranges in CherriLogLevelRanges class.

Timestamp Patterns

We offer some preset timestamp formats with in formatter/timestamp.dart.

You can also use your own format.

Output

Demo Outputs

Note: The colors may vary depending on the terminal. This is probably the result on VSCode. Reference

Contributors

Contributors

Star History

Star History Chart