do a few more remaining todos
This commit is contained in:
@@ -10,69 +10,44 @@ import 'package:path/path.dart' as path;
|
||||
part 'application_log.g.dart';
|
||||
|
||||
class ApplicationLog {
|
||||
//TODO max size, auto clear old
|
||||
static const MAX_SIZE = 2048;
|
||||
|
||||
static void debug(String message, {String? additional, StackTrace? trace}) {
|
||||
(additional != null && additional != '') ? print('[DEBUG] ${message}: ${additional}') : print('[DEBUG] ${message}');
|
||||
|
||||
if (!Hive.isBoxOpen('scn-logs')) return;
|
||||
Hive.box<SCNLog>('scn-logs').add(SCNLog(
|
||||
id: Xid().toString(),
|
||||
timestamp: DateTime.now(),
|
||||
level: SCNLogLevel.debug,
|
||||
message: message,
|
||||
additional: additional ?? '',
|
||||
trace: trace?.toString() ?? '',
|
||||
));
|
||||
_logToBox(SCNLogLevel.debug, message, additional, trace);
|
||||
}
|
||||
|
||||
static void info(String message, {String? additional, StackTrace? trace}) {
|
||||
(additional != null && additional != '') ? print('[INFO] ${message}: ${additional}') : print('[INFO] ${message}');
|
||||
|
||||
if (!Hive.isBoxOpen('scn-logs')) return;
|
||||
Hive.box<SCNLog>('scn-logs').add(SCNLog(
|
||||
id: Xid().toString(),
|
||||
timestamp: DateTime.now(),
|
||||
level: SCNLogLevel.info,
|
||||
message: message,
|
||||
additional: additional ?? '',
|
||||
trace: trace?.toString() ?? '',
|
||||
));
|
||||
_logToBox(SCNLogLevel.info, message, additional, trace);
|
||||
}
|
||||
|
||||
static void warn(String message, {String? additional, StackTrace? trace}) {
|
||||
(additional != null && additional != '') ? print('[WARN] ${message}: ${additional}') : print('[WARN] ${message}');
|
||||
|
||||
if (!Hive.isBoxOpen('scn-logs')) return;
|
||||
Hive.box<SCNLog>('scn-logs').add(SCNLog(
|
||||
id: Xid().toString(),
|
||||
timestamp: DateTime.now(),
|
||||
level: SCNLogLevel.warning,
|
||||
message: message,
|
||||
additional: additional ?? '',
|
||||
trace: trace?.toString() ?? '',
|
||||
));
|
||||
_logToBox(SCNLogLevel.warning, message, additional, trace);
|
||||
}
|
||||
|
||||
static void error(String message, {String? additional, StackTrace? trace}) {
|
||||
(additional != null && additional != '') ? print('[ERROR] ${message}: ${additional}') : print('[ERROR] ${message}');
|
||||
|
||||
if (!Hive.isBoxOpen('scn-logs')) return;
|
||||
Hive.box<SCNLog>('scn-logs').add(SCNLog(
|
||||
id: Xid().toString(),
|
||||
timestamp: DateTime.now(),
|
||||
level: SCNLogLevel.error,
|
||||
message: message,
|
||||
additional: additional ?? '',
|
||||
trace: trace?.toString() ?? '',
|
||||
));
|
||||
_logToBox(SCNLogLevel.error, message, additional, trace);
|
||||
}
|
||||
|
||||
static void fatal(String message, {String? additional, StackTrace? trace}) {
|
||||
(additional != null && additional != '') ? print('[FATAL] ${message}: ${additional}') : print('[FATAL] ${message}');
|
||||
|
||||
_logToBox(SCNLogLevel.fatal, message, additional, trace);
|
||||
}
|
||||
|
||||
static void _logToBox(SCNLogLevel lvl, String message, String? additional, StackTrace? trace) {
|
||||
if (!Hive.isBoxOpen('scn-logs')) return;
|
||||
Hive.box<SCNLog>('scn-logs').add(SCNLog(
|
||||
|
||||
final box = Hive.box<SCNLog>('scn-logs');
|
||||
|
||||
box.add(SCNLog(
|
||||
id: Xid().toString(),
|
||||
timestamp: DateTime.now(),
|
||||
level: SCNLogLevel.fatal,
|
||||
@@ -80,6 +55,8 @@ class ApplicationLog {
|
||||
additional: additional ?? '',
|
||||
trace: trace?.toString() ?? '',
|
||||
));
|
||||
|
||||
while (box.length > MAX_SIZE) box.deleteAt(0);
|
||||
}
|
||||
|
||||
static void writeRawFailure(String message, Map<String, dynamic> extraData) async {
|
||||
|
||||
Reference in New Issue
Block a user