chore(dart logging): Only print relevant messages in debug mode.

This commit is contained in:
Jacob MacDonald 2015-07-23 07:32:30 -07:00
parent 3c2b165de1
commit 09226cdd75

View File

@ -1,19 +1,20 @@
library reflection.debug_reflection_capabilities; library reflection.debug_reflection_capabilities;
import 'package:logging/logging.dart'; import 'package:logging/logging.dart' as log;
import 'package:stack_trace/stack_trace.dart'; import 'package:stack_trace/stack_trace.dart';
import 'types.dart'; import 'types.dart';
import 'reflection_capabilities.dart' as standard; import 'reflection_capabilities.dart' as standard;
class ReflectionCapabilities extends standard.ReflectionCapabilities { class ReflectionCapabilities extends standard.ReflectionCapabilities {
final bool _verbose; final bool _verbose;
final Logger _log = new Logger('ReflectionCapabilities'); final log.Logger _log = new log.Logger('ReflectionCapabilities');
ReflectionCapabilities({bool verbose: false}) ReflectionCapabilities({bool verbose: false})
: _verbose = verbose, : _verbose = verbose,
super() { super() {
Logger.root.level = _verbose ? Level.ALL : Level.INFO; log.hierarchicalLoggingEnabled = true;
Logger.root.onRecord.listen((LogRecord rec) { _log.level = _verbose ? log.Level.ALL : log.Level.INFO;
_log.onRecord.listen((log.LogRecord rec) {
print('[${rec.loggerName}(${rec.level.name})]: ${rec.message}'); print('[${rec.loggerName}(${rec.level.name})]: ${rec.message}');
}); });
} }