Files
workavia-mail-front/core/lib/utils/app_logger.dart
T
dab246 37334d3c66 TF-1912 Only trigger log when debug logs are enabled
(cherry picked from commit 949034a80238ac8a30d65ae3c5020acc5240ef00)
2023-07-19 10:23:07 +07:00

34 lines
871 B
Dart

import 'dart:async';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
final logHistory = _Dispatcher("");
void log(String? value) {
if (kDebugMode) {
String v = value ?? "";
logHistory.value = "$v\n${logHistory.value}";
print(v);
}
}
void logError(String? value) => log("[ERROR] ${value ?? ""}");
// Take from: https://flutter.dev/docs/testing/errors
void initLogger(VoidCallback runApp) {
runZonedGuarded(() async {
WidgetsFlutterBinding.ensureInitialized();
FlutterError.onError = (FlutterErrorDetails details) {
FlutterError.dumpErrorToConsole(details);
logError(details.stack.toString());
};
runApp.call();
}, (Object error, StackTrace stack) {
logError(stack.toString());
});
}
class _Dispatcher extends ValueNotifier<String> {
_Dispatcher(String value) : super(value);
}