mirror of
https://gitlab.com/veilid/veilidchat.git
synced 2025-05-28 10:42:24 -04:00
developer menu
This commit is contained in:
parent
8075b81742
commit
ee94f6622c
41 changed files with 294 additions and 35 deletions
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue