logging

Creator: coderz1093

Last updated:

Add to Cart

Description:

logging

Initializing #
By default, the logging package does not do anything useful with the log
messages. You must configure the logging level and add a handler for the log
messages.
Here is a simple logging configuration that logs all messages via print.
Logger.root.level = Level.ALL; // defaults to Level.INFO
Logger.root.onRecord.listen((record) {
print('${record.level.name}: ${record.time}: ${record.message}');
});
copied to clipboard
First, set the root Level. All messages at or above the current level are sent to the
onRecord stream. Available levels are:

Level.OFF
Level.SHOUT
Level.SEVERE
Level.WARNING
Level.INFO
Level.CONFIG
Level.FINE
Level.FINER
Level.FINEST

Then, listen on the onRecord stream for LogRecord events. The LogRecord
class has various properties for the message, error, logger name, and more.
To listen for changed level notitfications use:
Logger.root.onLevelChanged.listen((level) {
print('The new log level is $level');
});
copied to clipboard
Logging messages #
Create a Logger with a unique name to easily identify the source of the log
messages.
final log = Logger('MyClassName');
copied to clipboard
Here is an example of logging a debug message and an error:
var future = doSomethingAsync().then((result) {
log.fine('Got the result: $result');
processResult(result);
}).catchError((e, stackTrace) => log.severe('Oh noes!', e, stackTrace));
copied to clipboard
When logging more complex messages, you can pass a closure instead that will be
evaluated only if the message is actually logged:
log.fine(() => [1, 2, 3, 4, 5].map((e) => e * 4).join("-"));
copied to clipboard
Available logging methods are:

log.shout(logged_content);
log.severe(logged_content);
log.warning(logged_content);
log.info(logged_content);
log.config(logged_content);
log.fine(logged_content);
log.finer(logged_content);
log.finest(logged_content);

Publishing automation #
For information about our publishing automation and release process, see
https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.