Flutter网络日志与监控插件loggycian_networking的使用
Flutter网络日志与监控插件loggycian_networking的使用
Loggycian Networking 是一个强大的 Dart/Flutter 应用程序的网络日志拦截器,支持 Dio、HTTP 和 GraphQL 客户端。
特性 🚀
- 兼容多种 HTTP 客户端(Dio、HTTP 包、GraphQL)
- 实时网络请求监控
- 详细的请求/响应日志记录
- CURL 命令生成
- 查询参数跟踪
- 头管理
- 错误处理
- 请求计时统计
安装 💻
为了开始使用 Loggycian Networking,您必须在机器上安装 Dart SDK。
通过 dart pub add
安装:
dart pub add loggycian_networking
持续集成 🤖
Loggycian Networking 自带了一个由 Very Good Workflows 支持的 GitHub Actions 工作流。您也可以添加您偏好的 CI/CD 解决方案。
默认情况下,在每次拉取请求和推送时,CI 会格式化、检查代码并运行测试。这确保了代码的一致性和正确性。项目使用 Very Good Analysis 进行严格的分析选项。代码覆盖率使用 Very Good Workflows 进行强制执行。
运行测试 🧪
要运行所有单元测试:
dart pub global activate coverage 1.2.0
dart test --coverage=coverage
dart pub global run coverage:format_coverage --lcov --in=coverage --out=coverage/lcov.info
要查看生成的覆盖率报告,可以使用 lcov。
# 生成覆盖率报告
genhtml coverage/lcov.info -o coverage/
# 打开覆盖率报告
open coverage/index.html
使用示例
以下是一个如何使用 loggycian_networking 包的例子:
示例代码
import 'package:flutter/material.dart';
import 'package:dio/dio.dart';
import 'package:loggycian_networking/loggycian_networking.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('Loggycian Networking Example')),
body: Center(
child: ElevatedButton(
onPressed: () async {
// 初始化 Dio 客户端
final dio = Dio();
// 添加 Loggycian 网络拦截器
dio.interceptors.add(LoggycianNetworkingInterceptor());
try {
// 发送网络请求
final response = await dio.get('https://jsonplaceholder.typicode.com/todos/1');
print('Response Data: ${response.data}');
} catch (e) {
print('Error: $e');
}
},
child: Text('Send Network Request'),
),
),
),
);
}
}
更多关于Flutter网络日志与监控插件loggycian_networking的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter网络日志与监控插件loggycian_networking的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
loggycian_networking
是一个用于 Flutter 的插件,旨在简化网络请求的日志记录和监控。它可以帮助开发者更轻松地调试和分析网络请求,从而提高开发效率。以下是如何使用 loggycian_networking
插件的详细步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 loggycian_networking
插件的依赖:
dependencies:
flutter:
sdk: flutter
loggycian_networking: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get
来安装依赖。
2. 初始化 Loggycian Networking
在你的 Flutter 应用中初始化 loggycian_networking
。通常,你可以在 main.dart
文件中进行初始化:
import 'package:loggycian_networking/loggycian_networking.dart';
void main() {
// 初始化 Loggycian Networking
LoggycianNetworking.initialize();
runApp(MyApp());
}
3. 使用 Loggycian Networking 发送网络请求
loggycian_networking
提供了一个简单的 API 来发送网络请求,并自动记录请求和响应的详细信息。
import 'package:loggycian_networking/loggycian_networking.dart';
Future<void> fetchData() async {
try {
var response = await LoggycianNetworking.get(
'https://jsonplaceholder.typicode.com/posts',
headers: {
'Content-Type': 'application/json',
},
);
print('Response status: ${response.statusCode}');
print('Response body: ${response.body}');
} catch (e) {
print('Error: $e');
}
}
4. 查看日志
loggycian_networking
会自动记录所有网络请求和响应的详细信息。你可以通过查看日志来调试和分析网络请求。
import 'package:loggycian_networking/loggycian_networking.dart';
void main() {
LoggycianNetworking.initialize();
// 设置日志级别
LoggycianNetworking.setLogLevel(LogLevel.verbose);
runApp(MyApp());
}
5. 自定义日志输出
你可以自定义日志的输出方式,例如将日志输出到控制台、文件或其他地方。
import 'package:loggycian_networking/loggycian_networking.dart';
void main() {
LoggycianNetworking.initialize();
// 自定义日志输出
LoggycianNetworking.setLogger((log) {
print('Custom Log: $log');
});
runApp(MyApp());
}
6. 监控网络请求
loggycian_networking
还提供了网络请求的监控功能,你可以实时查看网络请求的状态、耗时等信息。
import 'package:loggycian_networking/loggycian_networking.dart';
void main() {
LoggycianNetworking.initialize();
// 启用网络监控
LoggycianNetworking.enableNetworkMonitoring();
runApp(MyApp());
}
7. 处理错误
loggycian_networking
会自动捕获网络请求中的错误,并提供详细的错误信息。
import 'package:loggycian_networking/loggycian_networking.dart';
Future<void> fetchData() async {
try {
var response = await LoggycianNetworking.get(
'https://jsonplaceholder.typicode.com/invalid-endpoint',
headers: {
'Content-Type': 'application/json',
},
);
print('Response status: ${response.statusCode}');
print('Response body: ${response.body}');
} catch (e) {
print('Error: $e');
}
}
8. 高级配置
loggycian_networking
还支持一些高级配置,例如设置超时时间、重试机制等。
import 'package:loggycian_networking/loggycian_networking.dart';
void main() {
LoggycianNetworking.initialize();
// 设置超时时间
LoggycianNetworking.setTimeout(Duration(seconds: 10));
// 启用重试机制
LoggycianNetworking.enableRetryOnFailure(maxRetries: 3);
runApp(MyApp());
}