// ignore_for_file: constant_identifier_names import 'package:isar/isar.dart'; import 'package:logging/logging.dart'; part 'logger_message.model.g.dart'; @Collection(inheritance: false) class LoggerMessage { Id id = Isar.autoIncrement; String message; @Enumerated(EnumType.ordinal) LogLevel level = LogLevel.INFO; DateTime createdAt; String? context1; String? context2; LoggerMessage({ required this.message, required this.level, required this.createdAt, required this.context1, required this.context2, }); @override String toString() { return 'InAppLoggerMessage(message: $message, level: $level, createdAt: $createdAt)'; } } /// Log levels according to dart logging [Level] enum LogLevel { ALL, FINEST, FINER, FINE, CONFIG, INFO, WARNING, SEVERE, SHOUT, OFF, } extension LevelExtension on Level { LogLevel toLogLevel() => LogLevel.values[Level.LEVELS.indexOf(this)]; }