mirror of
https://github.com/austinried/subtracks.git
synced 2026-02-10 15:02:42 +01:00
logging framework
This commit is contained in:
48
lib/util/logger.dart
Normal file
48
lib/util/logger.dart
Normal file
@@ -0,0 +1,48 @@
|
||||
import 'package:logger/logger.dart';
|
||||
|
||||
class LogLevelFilter extends LogFilter {
|
||||
@override
|
||||
bool shouldLog(LogEvent event) {
|
||||
return event.level >= level!;
|
||||
}
|
||||
}
|
||||
|
||||
class SubtracksLogger extends Logger {
|
||||
SubtracksLogger({
|
||||
super.filter,
|
||||
super.printer,
|
||||
super.output,
|
||||
required Level level,
|
||||
}) : _level = level,
|
||||
super(level: level);
|
||||
|
||||
final Level _level;
|
||||
Level get level => _level;
|
||||
}
|
||||
|
||||
SubtracksLogger createLogger() {
|
||||
var isDebug = false;
|
||||
assert(() {
|
||||
isDebug = true;
|
||||
return true;
|
||||
}());
|
||||
|
||||
if (isDebug) {
|
||||
return SubtracksLogger(
|
||||
filter: DevelopmentFilter(),
|
||||
printer: PrettyPrinter(),
|
||||
output: ConsoleOutput(),
|
||||
level: Level.debug,
|
||||
);
|
||||
}
|
||||
|
||||
// TODO: production logger
|
||||
return SubtracksLogger(
|
||||
filter: DevelopmentFilter(),
|
||||
printer: PrettyPrinter(),
|
||||
output: ConsoleOutput(),
|
||||
level: Level.debug,
|
||||
);
|
||||
}
|
||||
|
||||
final logger = createLogger();
|
||||
Reference in New Issue
Block a user