From 44e9780e5a63913332e0ec4fec2ff09c8cdde897 Mon Sep 17 00:00:00 2001 From: LollipopKit <2036293523@qq.com> Date: Mon, 25 Oct 2021 17:31:35 +0800 Subject: [PATCH] Add Logger --- README.md | 16 ++++++++++++++-- lib/data/provider/server.dart | 7 +++++++ lib/data/res/build_data.dart | 8 ++++---- lib/main.dart | 9 ++++++++- pubspec.lock | 2 +- pubspec.yaml | 1 + 6 files changed, 35 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index e4df6721..ff498098 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# toolbox +# Server Monitor & Toolbox -A new Flutter project. +A new Flutter project which provide a chart view to display server status data. ## ScreenShots @@ -14,3 +14,15 @@ A new Flutter project.
+## Milestone +- [x] SSH Connect +- [x] Server Info Store +- [x] Status Chart View +- [x] Base64/Url En/Decode +- [ ] Private Key Store +- [ ] Server Status Detail Page +- [ ] Theme Switch +- [ ] Custom Home Page + +## License +`Apache License. LollipopKit 2021` diff --git a/lib/data/provider/server.dart b/lib/data/provider/server.dart index 5cb4e60f..43044682 100644 --- a/lib/data/provider/server.dart +++ b/lib/data/provider/server.dart @@ -1,5 +1,6 @@ import 'dart:async'; +import 'package:logging/logging.dart'; import 'package:ssh2/ssh2.dart'; import 'package:toolbox/core/extension/stringx.dart'; import 'package:toolbox/core/provider_base.dart'; @@ -15,6 +16,8 @@ class ServerProvider extends BusyProvider { List _servers = []; List get servers => _servers; + final logger = Logger('ServerProvider'); + ServerStatus get emptyStatus => ServerStatus( cpuPercent: 0, memList: [100, 0], @@ -92,7 +95,11 @@ class ServerProvider extends BusyProvider { final client = _servers[idx].client; final connected = await client.isConnected(); if (!connected) { + final time1 = DateTime.now(); await client.connect(); + final time2 = DateTime.now(); + logger.info( + 'Connected to [${info.name}] in [${time2.difference(time1).toString()}].'); } final cpu = await client.execute( "top -bn1 | grep load | awk '{printf \"%.2f\", \$(NF-2)}'") ?? diff --git a/lib/data/res/build_data.dart b/lib/data/res/build_data.dart index 35a6045f..b8981b18 100644 --- a/lib/data/res/build_data.dart +++ b/lib/data/res/build_data.dart @@ -2,9 +2,9 @@ class BuildData { static const String name = "ToolBox"; - static const int build = 15; + static const int build = 18; static const String engine = - "Flutter 2.5.1 • channel stable • https://github.com/flutter/flutter.git\nFramework • revision ffb2ecea52 (2 weeks ago) • 2021-09-17 15:26:33 -0400\nEngine • revision b3af521a05\nTools • Dart 2.14.2\n"; - static const String buildAt = "2021-10-02 19:52:07.676336"; - static const int modifications = 71; + "Flutter 2.5.3 • channel stable • https://github.com/flutter/flutter.git\nFramework • revision 18116933e7 (10 days ago) • 2021-10-15 10:46:35 -0700\nEngine • revision d3ea636dc5\nTools • Dart 2.14.4\n"; + static const String buildAt = "2021-10-25 16:56:13.551427"; + static const int modifications = 0; } diff --git a/lib/main.dart b/lib/main.dart index f1a0fa15..272992b2 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:hive_flutter/hive_flutter.dart'; +import 'package:logging/logging.dart'; import 'package:provider/provider.dart'; import 'package:toolbox/app.dart'; import 'package:toolbox/core/analysis.dart'; @@ -13,7 +14,13 @@ import 'package:toolbox/locator.dart'; Future initApp() async { await Hive.initFlutter(); await setupLocator(); - locator().loadLocalData(); + + ///设置Logger + Logger.root.level = Level.ALL; // defaults to Level.INFO + Logger.root.onRecord.listen((record) { + // ignore: avoid_print + print('[${record.loggerName}][${record.level.name}]: ${record.message}'); + }); } void runInZone(dynamic Function() body) { diff --git a/pubspec.lock b/pubspec.lock index 487b7a86..69840ccb 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -222,7 +222,7 @@ packages: source: hosted version: "1.0.1" logging: - dependency: transitive + dependency: "direct main" description: name: logging url: "https://pub.dartlang.org" diff --git a/pubspec.yaml b/pubspec.yaml index 7f2ae802..f7346c4c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -45,6 +45,7 @@ dependencies: ref: master ssh2: ^2.2.3 charts_flutter: ^0.11.0 + logging: ^1.0.2 dev_dependencies: