pkglog 0.1.1
pkglog: ^0.1.1 copied to clipboard
A logger designed specifically for Dart packages.
See repository for this example: minimal.
See also another example for a full demo: pkglog_example.
import 'package:pkglog/pkglog.dart';
void main() {
final log = Logger('pkglog', level: LogLevel.all);
print('\nDefaults:\n');
log.v('main', 'verbose');
log.d('main', 'debug');
log.i('main', 'info');
log.w('main', 'warning');
log.e('main', 'error');
log.s('main', 'shout');
print('\nCustom formatting:\n');
log.format = (level, package, source, message, error, stackTrace) =>
'[${level.shortName}]'
' $package'
' | ${DateTime.now()}'
' | $source'
' | $message'
'${error == null ? '' : ': $error'}'
'${stackTrace == StackTrace.empty ? '' : '\n$stackTrace'}';
log.v('main', 'verbose');
log.d('main', 'debug');
log.i('main', 'info');
log.w('main', 'warning');
log.e('main', 'error');
log.s('main', 'shout');
print('\nOnly errors:\n');
log.level = LogLevel.error;
log.v('main', 'verbose');
log.d('main', 'debug');
log.i('main', 'info');
log.w('main', 'warning');
log.e('main', 'error', Exception('error'), StackTrace.current);
log.s('main', 'shout', Exception('shout'), StackTrace.current);
print('\nDisable logging completely:\n');
log.level = LogLevel.off;
log.v('main', 'verbose');
log.d('main', 'debug');
log.i('main', 'info');
log.w('main', 'warning');
log.e('main', 'error');
log.s('main', 'shout');
}