mirror of
https://github.com/smmarty/friflex_flutter_starter.git
synced 2025-12-22 01:20:46 +00:00
feat(debug): Удалить Talker (#2)
Co-authored-by: petrovyuri <y.petrov@friflex.com>
This commit is contained in:
@@ -1,60 +0,0 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:friflex_starter/features/debug/i_debug_service.dart';
|
||||
import 'package:talker_bloc_logger/talker_bloc_logger.dart';
|
||||
import 'package:talker_dio_logger/talker_dio_logger_interceptor.dart';
|
||||
import 'package:talker_flutter/talker_flutter.dart';
|
||||
|
||||
/// Класс реализации интерфейса дебаг сервиса
|
||||
class AppDebugService implements IDebugService {
|
||||
/// Наименование сервиса
|
||||
static const name = 'GmsDebugService';
|
||||
|
||||
final Talker _talker = TalkerFlutter.init();
|
||||
|
||||
@override
|
||||
TalkerBlocObserver createBlocObserver() =>
|
||||
TalkerBlocObserver(talker: _talker);
|
||||
|
||||
@override
|
||||
TalkerDioLogger createHttpInterceptor() => TalkerDioLogger(talker: _talker);
|
||||
|
||||
@override
|
||||
TalkerRouteObserver createRouterObserver() => TalkerRouteObserver(_talker);
|
||||
|
||||
@override
|
||||
void error(String msg, [Object? exception, StackTrace? stackTrace]) {
|
||||
_talker.error(msg, exception, stackTrace);
|
||||
}
|
||||
|
||||
@override
|
||||
void handleError(Object error, [StackTrace? stackTrace, String? message]) {
|
||||
_talker.handle(error, stackTrace, message);
|
||||
}
|
||||
|
||||
@override
|
||||
void info(String message) {
|
||||
_talker.info(message);
|
||||
}
|
||||
|
||||
@override
|
||||
void log(String message) {
|
||||
_talker.log(message);
|
||||
}
|
||||
|
||||
@override
|
||||
void warning(String message) {
|
||||
_talker.warning(message);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<T?> openDebugScreen<T>(
|
||||
BuildContext context, {
|
||||
bool useRootNavigator = false,
|
||||
}) {
|
||||
return Navigator.of(context).push<T>(
|
||||
MaterialPageRoute(
|
||||
builder: (context) => TalkerScreen(talker: _talker),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -31,7 +31,7 @@ class DebugScreen extends StatelessWidget {
|
||||
onPressed: () async {
|
||||
await context.di.debugService.openDebugScreen(context);
|
||||
},
|
||||
child: const Text('Вызывать Talker'),
|
||||
child: const Text('Вызывать Экран отладки'),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
66
lib/features/debug/debug_service.dart
Normal file
66
lib/features/debug/debug_service.dart
Normal file
@@ -0,0 +1,66 @@
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:friflex_starter/features/debug/i_debug_service.dart';
|
||||
|
||||
/// Класс реализации интерфейса Debug сервиса
|
||||
class DebugService implements IDebugService {
|
||||
/// Наименование сервиса
|
||||
static const name = 'DebugService';
|
||||
|
||||
@override
|
||||
void logDebug(Object message, {Object? logLevel, Map<String, dynamic>? args}) {
|
||||
if (kDebugMode) {
|
||||
print('Message: $message');
|
||||
}
|
||||
|
||||
/// Реализация логики
|
||||
}
|
||||
|
||||
@override
|
||||
void logError(
|
||||
Object message, {
|
||||
Object? error,
|
||||
Object? logLevel,
|
||||
Map<String, dynamic>? args,
|
||||
StackTrace? stackTrace,
|
||||
}) {
|
||||
final logMessage = message is Function ? Function.apply(message, []) as Object : message;
|
||||
if (kDebugMode) {
|
||||
print('Message: $logMessage');
|
||||
print('Error: $error');
|
||||
print('StackTrace: $stackTrace');
|
||||
}
|
||||
|
||||
/// Реализация логики
|
||||
}
|
||||
|
||||
@override
|
||||
void log(Object message, {Object? logLevel, Map<String, dynamic>? args}) {
|
||||
final logMessage = message is Function ? Function.apply(message, []) as Object : message;
|
||||
if (kDebugMode) {
|
||||
print('Message: $logMessage');
|
||||
}
|
||||
|
||||
/// Реализация логики
|
||||
}
|
||||
|
||||
@override
|
||||
void logWarning(Object message, {Object? logLevel, Map<String, dynamic>? args}) {
|
||||
final logMessage = message is Function ? Function.apply(message, []) as Object : message;
|
||||
if (kDebugMode) {
|
||||
print('Message: $logMessage');
|
||||
}
|
||||
|
||||
/// Реализация логики
|
||||
}
|
||||
|
||||
@override
|
||||
Future<T?> openDebugScreen<T>(BuildContext context, {bool useRootNavigator = false}) {
|
||||
if (kDebugMode) {
|
||||
print('Переход на страницу отладки');
|
||||
}
|
||||
|
||||
/// Реализация логики
|
||||
return Future.value();
|
||||
}
|
||||
}
|
||||
@@ -2,51 +2,37 @@ import 'package:flutter/material.dart';
|
||||
|
||||
/// Интерфейс для сервиса отладки
|
||||
abstract interface class IDebugService {
|
||||
/// Наименование сервиса
|
||||
static const name = 'IDebugService';
|
||||
|
||||
/// Метод для создания обработчика для BLoC
|
||||
Object createBlocObserver();
|
||||
/// Метод для логирования сообщений
|
||||
void log(
|
||||
Object message, {
|
||||
Object logLevel,
|
||||
Map<String, dynamic>? args,
|
||||
});
|
||||
|
||||
/// Метод для создания обработчика для роутера
|
||||
NavigatorObserver createRouterObserver();
|
||||
/// Метод для логирования предупреждений
|
||||
void logWarning(
|
||||
Object message, {
|
||||
Object logLevel,
|
||||
Map<String, dynamic>? args,
|
||||
});
|
||||
|
||||
/// Метод для создания обработчика для http-клиентов
|
||||
Object createHttpInterceptor();
|
||||
|
||||
/// Метод для логгирования предупреждений
|
||||
///
|
||||
/// Принимает:
|
||||
/// - [message] - сообщение для логгирования в формате [String]
|
||||
void warning(String message);
|
||||
|
||||
/// Метод для логгирования ошибок
|
||||
///
|
||||
/// Принимает:
|
||||
/// - [message] - сообщение для логгирования в формате [String]
|
||||
/// - [exception] - исключение
|
||||
/// - [stackTrace] - стек вызова
|
||||
void error(String message, [Object? exception, StackTrace? stackTrace]);
|
||||
/// Метод для логирования ошибок
|
||||
void logError(
|
||||
Object message, {
|
||||
Object error,
|
||||
StackTrace? stackTrace,
|
||||
Object logLevel,
|
||||
Map<String, dynamic>? args,
|
||||
});
|
||||
|
||||
/// Метод для обработки ошибок
|
||||
///
|
||||
/// Принимает:
|
||||
/// - [error] - исключение
|
||||
/// - [stackTrace] - стек вызова
|
||||
/// - [message] - сообщение для логгирования в формате [String]
|
||||
void handleError(Object error, [StackTrace? stackTrace, String? message]);
|
||||
|
||||
/// Метод для логгирования информативных сообщений
|
||||
///
|
||||
/// Принимает:
|
||||
/// - [message] - сообщение для логгирования в формате [String]
|
||||
void info(String message);
|
||||
|
||||
/// Метод для логгирования сообщений
|
||||
///
|
||||
/// Принимает:
|
||||
/// - [message] - сообщение для логгирования в формате [String]
|
||||
void log(String message);
|
||||
void logDebug(
|
||||
Object message, {
|
||||
Object logLevel,
|
||||
Map<String, dynamic>? args,
|
||||
});
|
||||
|
||||
/// Метод для открытия окна отладки
|
||||
///
|
||||
|
||||
Reference in New Issue
Block a user