Make the beautify logging tool
(cherry picked from commit 3322703de81c2c53f45b25743071769f8bdabb55)
This commit is contained in:
@@ -3,17 +3,38 @@ import 'dart:async';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
final logHistory = _Dispatcher("");
|
||||
final logHistory = _Dispatcher('');
|
||||
|
||||
void log(String? value) {
|
||||
if (kDebugMode) {
|
||||
String v = value ?? "";
|
||||
logHistory.value = "$v\n${logHistory.value}";
|
||||
print(v);
|
||||
void log(String? value, {Level level = Level.info}) {
|
||||
if (!kDebugMode) return;
|
||||
|
||||
String logsStr = value ?? '';
|
||||
logHistory.value = '$logsStr\n${logHistory.value}';
|
||||
|
||||
switch (level) {
|
||||
case Level.wtf:
|
||||
logsStr = '\x1B[31m!!!CRITICAL!!! $logsStr\x1B[0m';
|
||||
break;
|
||||
case Level.error:
|
||||
logsStr = '\x1B[31m$logsStr\x1B[0m';
|
||||
break;
|
||||
case Level.warning:
|
||||
logsStr = '\x1B[33m$logsStr\x1B[0m';
|
||||
break;
|
||||
case Level.info:
|
||||
logsStr = '\x1B[32m$logsStr\x1B[0m';
|
||||
break;
|
||||
case Level.debug:
|
||||
logsStr = '\x1B[34m$logsStr\x1B[0m';
|
||||
break;
|
||||
case Level.verbose:
|
||||
break;
|
||||
}
|
||||
// ignore: avoid_print
|
||||
print('[TeamMail] $logsStr');
|
||||
}
|
||||
|
||||
void logError(String? value) => log("[ERROR] ${value ?? ""}");
|
||||
void logError(String? value) => log(value, level: Level.error);
|
||||
|
||||
// Take from: https://flutter.dev/docs/testing/errors
|
||||
void initLogger(VoidCallback runApp) {
|
||||
@@ -31,4 +52,14 @@ void initLogger(VoidCallback runApp) {
|
||||
|
||||
class _Dispatcher extends ValueNotifier<String> {
|
||||
_Dispatcher(String value) : super(value);
|
||||
}
|
||||
|
||||
|
||||
enum Level {
|
||||
wtf,
|
||||
error,
|
||||
warning,
|
||||
info,
|
||||
debug,
|
||||
verbose,
|
||||
}
|
||||
@@ -171,7 +171,7 @@ abstract class BaseController extends GetxController
|
||||
}
|
||||
|
||||
void handleFailureViewState(Failure failure) {
|
||||
logError('BaseController::handleFailureViewState(): $failure');
|
||||
logError('BaseController::handleFailureViewState(): ${failure.runtimeType}');
|
||||
if (failure is LogoutOidcFailure) {
|
||||
if (_isFcmEnabled) {
|
||||
_getSubscriptionLocalAction();
|
||||
@@ -186,7 +186,7 @@ abstract class BaseController extends GetxController
|
||||
}
|
||||
|
||||
void handleSuccessViewState(Success success) {
|
||||
log('BaseController::handleSuccessViewState(): $success');
|
||||
log('BaseController::handleSuccessViewState(): ${success.runtimeType}');
|
||||
if (success is LogoutOidcSuccess) {
|
||||
if (_isFcmEnabled) {
|
||||
_getSubscriptionLocalAction();
|
||||
|
||||
@@ -73,7 +73,7 @@ class AuthorizationInterceptors extends QueuedInterceptorsWrapper {
|
||||
|
||||
@override
|
||||
void onError(DioError err, ErrorInterceptorHandler handler) async {
|
||||
log('AuthorizationInterceptors::onError():dioType: ${err.type} | statusCode: ${err.response?.statusCode} | message: ${err.message} | statusMessage: ${err.response?.statusMessage}');
|
||||
logError('AuthorizationInterceptors::onError():dioType: ${err.type} | statusCode: ${err.response?.statusCode} | message: ${err.message} | statusMessage: ${err.response?.statusMessage}');
|
||||
try {
|
||||
if (_validateToRefreshToken(err)) {
|
||||
log('AuthorizationInterceptors::onError:RefreshTokenCalled:configOIDC: $_configOIDC | refreshTokenCurrent: ${_token?.refreshToken}');
|
||||
@@ -114,7 +114,7 @@ class AuthorizationInterceptors extends QueuedInterceptorsWrapper {
|
||||
super.onError(err, handler);
|
||||
}
|
||||
} catch (e) {
|
||||
log('AuthorizationInterceptors::onError():Exception: $e');
|
||||
logError('AuthorizationInterceptors::onError():Exception: $e');
|
||||
super.onError(err, handler);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user