|
1 |
| -import 'package:flutter/foundation.dart'; |
2 | 1 | import 'package:flutter_bloc/flutter_bloc.dart';
|
| 2 | +import 'package:gpt_detector/core/utils/logger/logger_utils.dart'; |
3 | 3 |
|
4 | 4 | final class AppBlocObserver extends BlocObserver {
|
| 5 | + AppBlocObserver({ |
| 6 | + this.logEvents = true, |
| 7 | + this.logChanges = true, |
| 8 | + this.logTransitions = true, |
| 9 | + this.logErrors = true, |
| 10 | + this.logCreated = true, |
| 11 | + this.logClosed = true, |
| 12 | + }); |
| 13 | + |
| 14 | + final bool logEvents; |
| 15 | + final bool logChanges; |
| 16 | + final bool logTransitions; |
| 17 | + final bool logErrors; |
| 18 | + final bool logCreated; |
| 19 | + final bool logClosed; |
| 20 | + |
5 | 21 | @override
|
6 | 22 | void onEvent(Bloc<dynamic, dynamic> bloc, Object? event) {
|
7 | 23 | super.onEvent(bloc, event);
|
8 |
| - debugPrint('${bloc.runtimeType} $event'); |
| 24 | + if (logEvents) { |
| 25 | + LoggerUtils.instance.logInfo('${bloc.runtimeType} $event'); |
| 26 | + } |
9 | 27 | }
|
10 | 28 |
|
11 | 29 | @override
|
12 | 30 | void onChange(BlocBase<dynamic> bloc, Change<dynamic> change) {
|
13 | 31 | super.onChange(bloc, change);
|
14 |
| - debugPrint('${bloc.runtimeType} $change'); |
| 32 | + if (logChanges) { |
| 33 | + LoggerUtils.instance.logInfo('${bloc.runtimeType} $change'); |
| 34 | + } |
15 | 35 | }
|
16 | 36 |
|
17 | 37 | @override
|
18 | 38 | void onTransition(Bloc<dynamic, dynamic> bloc, Transition<dynamic, dynamic> transition) {
|
19 | 39 | super.onTransition(bloc, transition);
|
20 |
| - debugPrint('${bloc.runtimeType} $transition'); |
| 40 | + if (logTransitions) { |
| 41 | + LoggerUtils.instance.logInfo('${bloc.runtimeType} $transition'); |
| 42 | + } |
21 | 43 | }
|
22 | 44 |
|
23 | 45 | @override
|
24 | 46 | void onError(BlocBase<dynamic> bloc, Object error, StackTrace stackTrace) {
|
25 | 47 | super.onError(bloc, error, stackTrace);
|
26 |
| - debugPrint('${bloc.runtimeType} $error'); |
| 48 | + if (logErrors) { |
| 49 | + LoggerUtils.instance.logError('${bloc.runtimeType} $error'); |
| 50 | + } |
| 51 | + } |
| 52 | + |
| 53 | + @override |
| 54 | + void onClose(BlocBase<dynamic> bloc) { |
| 55 | + super.onClose(bloc); |
| 56 | + if (logClosed) { |
| 57 | + LoggerUtils.instance.logInfo('${bloc.runtimeType} closed'); |
| 58 | + } |
| 59 | + } |
| 60 | + |
| 61 | + @override |
| 62 | + void onCreate(BlocBase<dynamic> bloc) { |
| 63 | + super.onCreate(bloc); |
| 64 | + if (logCreated) { |
| 65 | + LoggerUtils.instance.logInfo('${bloc.runtimeType} created'); |
| 66 | + } |
27 | 67 | }
|
28 | 68 | }
|
0 commit comments