Flutter环境监测插件environmentalist的使用
Flutter环境监测插件environmentalist的使用
environmentalist
插件用于收集平台信息以供调试目的。目前,它主要用于服务器环境的详细信息。
你可以添加更多已知客户端属性和常见的云平台信息。
该插件最初用于解决 Cloud Pub/Sub 中的“幽灵订阅者”问题。通过要求每个订阅者将其环境信息记录到某个中央日志中,可以找到僵尸订阅者并调试基础设施。
请注意,此包中的具体属性可能会发生变化。请仅依赖于能够被人类后期处理的信息转储功能。
使用方法
import 'dart:convert';
import 'package:environmentalist/environmentalist.dart';
Future<void> main() async {
// 获取环境信息
final env = await Environmentalist.get();
// 将环境信息转为JSON字符串
final str = jsonEncode(env.toJson());
// 打印环境信息
print(str);
}
返回的对象可以序列化为JSON并反序列化回来。
各种环境的输出示例
本地环境
{
"googleApplicationCredentials": {
"path": "/path/to/service/account/key",
"clientEmail": "name@project-id.iam.gserviceaccount.com",
"clientId": "123",
"privateKeyId": "456",
"projectId": "project-id",
"type": "service_account"
},
"ips": [
"192.168.1.2"
],
"pid": 33784,
"platform": "macos",
"variables": { /* 环境变量,键值对 */ },
"version": "3.4.0 (stable) (Mon May 6 07:59:58 2024 -0700) on \"macos_arm64\""
}
Google Kubernetes Engine (GKE)
{
"ips": [
"10.28.1.2"
],
"kubernetes": {
"hostname": "my-deployment-name-d9c5d4dc-qf524"
},
"pid": 1,
"platform": "linux",
"variables": { /* 环境变量,键值对 */ },
"version": "3.4.0 (stable) (Mon May 6 07:59:58 2024 -0700) on \"linux_x64\""
}
GitHub Workflow
{
"github": {
"actor": "alexeyinkin",
"eventName": "workflow_dispatch",
"job": "_",
"ref": "refs/heads/main",
"repository": "alexeyinkin/repository-name",
"runAttempt": 1,
"runId": 9206310416,
"runNumber": 127,
"sha": "8bb284fa40a240192fb95f92540dffeb68ce22f6",
"triggeringActor": "alexeyinkin",
"workflow": ".github/workflows/deploy_prod.yaml",
"workflowRef": "alexeyinkin/repository-name/.github/workflows/deploy_prod.yaml@refs/heads/main",
"workflowSha": "8bb284fa40a240192fb95f92540dffeb68ce22f6"
},
"googleApplicationCredentials": {
"path": "/home/runner/work/repository-name/repository-name/gha-creds-db27f0e3297f59e0.json",
"audience": "//iam.googleapis.com/projects/123/locations/global/workloadIdentityPools/github/providers/github",
"serviceAccountImpersonationUrl": "https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/name@project-id.iam.gserviceaccount.com:generateAccessToken",
"subjectTokenType": "urn:ietf:params:oauth:token-type:jwt",
"type": "external_account"
},
"ips": [
"10.1.2.3",
"172.17.4.5"
],
"pid": 2076,
"platform": "linux",
"variables": { /* 环境变量,键值对 */ },
"version": "3.4.0 (stable) (Mon May 6 07:59:58 2024 -0700) on \"linux_x64\""
}
更多关于Flutter环境监测插件environmentalist的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复