feat(logging): add talker_dio_logger and talker_bloc_logger integration, improve cherrypick logger structure, add UI log screen for DI and network/bloc debug

This commit is contained in:
Sergey Penkovsky
2025-08-11 16:27:46 +03:00
parent d153ab4255
commit 4dc9e269cd
18 changed files with 523 additions and 55 deletions

View File

@@ -0,0 +1,15 @@
import 'package:auto_route/auto_route.dart';
import 'package:flutter/material.dart';
import 'package:talker_flutter/talker_flutter.dart';
import '../../app.dart';
@RoutePage()
class LogsPage extends StatelessWidget {
const LogsPage({super.key});
@override
Widget build(BuildContext context) {
final talker = TalkerProvider.of(context);
return TalkerScreen(talker: talker);
}
}

View File

@@ -1,6 +1,7 @@
import 'package:auto_route/auto_route.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:postly/app.dart';
import '../../router/app_router.gr.dart';
import '../bloc/post_bloc.dart';
@@ -15,7 +16,18 @@ class PostsPage extends StatelessWidget {
create: (context) =>
context.read<PostBloc>()..add(const PostEvent.fetchAll()),
child: Scaffold(
appBar: AppBar(title: const Text('Posts')),
appBar: AppBar(
title: const Text('Posts'),
actions: [
IconButton(
icon: const Icon(Icons.bug_report),
tooltip: 'Open logs',
onPressed: () {
AutoRouter.of(context).push(const LogsRoute());
},
),
],
),
body: BlocBuilder<PostBloc, PostState>(
builder: (context, state) {
return state.when(