minlog 0.1.0 copy "minlog: ^0.1.0" to clipboard
minlog: ^0.1.0 copied to clipboard

Simplified logging for Dart and Flutter

Minlog #

A dart/flutter logging package inspired from the awesome rust based env_logger.

Installation #

flutter pub add minlog

dart pub add minlog

Usage #

The base Logger class is the root of the package. Once instantiated, the logger class can be used to log messages

final logger = Logger(level: Level.warn, writer: StdErrWriter());

logger.info("Info message"); // this wont get printed
logger.error("Unexpected crash", { // this will get printed
    "error": "reason of crash", // attach a map of key values that will added to the error log
    "time": DateTime.now().toString(),
});

The logger's writer determines where the output goes. The package comes with 3 writers, StdErrWriter (which writes to stderr), StdOutWriter (which writes to stdout) and FileWriter (which writes to a File).

final stdoutw = StdOutWriter();
final stderrw = StdErrWriter();
final filew = FileWriter(File("path/to/file.txt"));

There is also a MultiWriter, which takes multiple writers and writes output to all of them. This is useful if you want to write your logs to multiple files or a file and stderr at a time. Custom writers can be written as long as it implements the Writer interface, which is essentially a class with a method void write(String content) {}. See the documentation for details.

The format of the logger can be changed too. Just pass along a formatter function to the Logger class. See the documentation for the formatter function for more details. The default logger's implementation can be seen at formatter.dart.

Default logger #

The package has some global logging functions that can be used to log messages without creating a logger instance.

import 'package:minlog/minlog.dart';

void main() {
    log(Level.info, "Info message");
    error("Unexpected crash", {
        "error": "reason of crash",
        "time": DateTime.now().toString(),
    });
}

This global info, error, warn, debug and trace functions use a default logger instance that can be modified by calling updateDefaultLogger. The default logger is a logger with level Level.info and a StdErrWriter.

License #

This project is licensed under the MIT License.

Contact #

For any questions or suggestions, please open an issue on GitHub.

0
likes
130
points
28
downloads

Publisher

unverified uploader

Weekly Downloads

Simplified logging for Dart and Flutter

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on minlog