developer menu

This commit is contained in:
Christien Rioux 2023-10-09 16:52:37 -04:00
parent 8075b81742
commit ee94f6622c
41 changed files with 294 additions and 35 deletions

View file

@ -2,8 +2,10 @@ import 'dart:io' show Platform;
import 'package:ansicolor/ansicolor.dart';
import 'package:flutter/foundation.dart';
import 'package:intl/intl.dart';
import 'package:loggy/loggy.dart';
import '../pages/developer.dart';
import '../veilid_support/veilid_support.dart';
String wrapWithLogColor(LogLevel? level, String text) {
@ -47,14 +49,33 @@ String wrapWithLogColor(LogLevel? level, String text) {
return text;
}
final DateFormat _dateFormatter = DateFormat('HH:mm:ss.SSS');
extension PrettyPrintLogRecord on LogRecord {
String pretty() {
final lstr =
wrapWithLogColor(level, '[${level.toString().substring(0, 1)}]');
return '$lstr $message';
final tm = _dateFormatter.format(time.toLocal());
final lev = logEmoji(level);
final lstr = wrapWithLogColor(level, tm);
return '$lstr $lev $message';
}
}
String logEmoji(LogLevel logLevel) {
switch (logLevel) {
case traceLevel:
return '👾';
case LogLevel.debug:
return '🐛';
case LogLevel.info:
return '💡';
case LogLevel.warning:
return '⚠️';
case LogLevel.error:
return '🛑';
}
return '';
}
class CallbackPrinter extends LoggyPrinter {
CallbackPrinter() : super();
@ -62,7 +83,9 @@ class CallbackPrinter extends LoggyPrinter {
@override
void onLog(LogRecord record) {
debugPrint(record.pretty());
final out = record.pretty();
debugPrint(out);
globalDebugTerminal.write('$out\n'.replaceAll('\n', '\r\n'));
callback?.call(record);
}