Procházet zdrojové kódy

create flowy_log package and will implement in rust in the future

appflowy před 3 roky
rodič
revize
8882ab5d82
36 změnil soubory, kde provedl 447 přidání a 95 odebrání
  1. 1 1
      app_flowy/lib/startup/tasks/sdk_task.dart
  2. 1 1
      app_flowy/lib/welcome/presentation/splash_screen.dart
  3. 1 1
      app_flowy/lib/workspace/application/app/app_bloc.dart
  4. 1 1
      app_flowy/lib/workspace/application/menu/menu_bloc.dart
  5. 1 1
      app_flowy/lib/workspace/application/menu/menu_watch.dart
  6. 1 1
      app_flowy/lib/workspace/application/workspace/welcome_bloc.dart
  7. 1 1
      app_flowy/lib/workspace/infrastructure/i_doc_impl.dart
  8. 1 1
      app_flowy/lib/workspace/infrastructure/repos/app_repo.dart
  9. 1 1
      app_flowy/lib/workspace/infrastructure/repos/view_repo.dart
  10. 1 1
      app_flowy/lib/workspace/infrastructure/repos/workspace_repo.dart
  11. 1 1
      app_flowy/lib/workspace/presentation/app/view_list_page.dart
  12. 1 1
      app_flowy/lib/workspace/presentation/doc/doc_stack_page.dart
  13. 1 1
      app_flowy/lib/workspace/presentation/home/home_screen.dart
  14. 14 0
      app_flowy/packages/flowy_editor/example/pubspec.lock
  15. 13 12
      app_flowy/packages/flowy_editor/lib/src/model/document/document.dart
  16. 14 0
      app_flowy/packages/flowy_editor/pubspec.lock
  17. 2 0
      app_flowy/packages/flowy_editor/pubspec.yaml
  18. 0 7
      app_flowy/packages/flowy_infra/pubspec.lock
  19. 0 1
      app_flowy/packages/flowy_infra/pubspec.yaml
  20. 75 0
      app_flowy/packages/flowy_log/.gitignore
  21. 10 0
      app_flowy/packages/flowy_log/.metadata
  22. 3 0
      app_flowy/packages/flowy_log/CHANGELOG.md
  23. 1 0
      app_flowy/packages/flowy_log/LICENSE
  24. 39 0
      app_flowy/packages/flowy_log/README.md
  25. 4 0
      app_flowy/packages/flowy_log/analysis_options.yaml
  26. 5 1
      app_flowy/packages/flowy_log/lib/flowy_log.dart
  27. 168 0
      app_flowy/packages/flowy_log/pubspec.lock
  28. 55 0
      app_flowy/packages/flowy_log/pubspec.yaml
  29. 1 0
      app_flowy/packages/flowy_log/test/flowy_log_test.dart
  30. 8 29
      app_flowy/packages/flowy_sdk/example/pubspec.lock
  31. 1 1
      app_flowy/packages/flowy_sdk/lib/dispatch/dispatch.dart
  32. 3 2
      app_flowy/packages/flowy_sdk/lib/rust_stream.dart
  33. 6 27
      app_flowy/packages/flowy_sdk/pubspec.lock
  34. 3 2
      app_flowy/packages/flowy_sdk/pubspec.yaml
  35. 7 0
      app_flowy/pubspec.lock
  36. 2 0
      app_flowy/pubspec.yaml

+ 1 - 1
app_flowy/lib/startup/tasks/sdk_task.dart

@@ -5,7 +5,7 @@ import 'package:bloc/bloc.dart';
 import 'package:path_provider/path_provider.dart';
 import 'package:flowy_sdk/flowy_sdk.dart';
 import 'package:flutter/material.dart';
-import 'package:flowy_infra/flowy_logger.dart';
+import 'package:flowy_log/flowy_log.dart';
 
 class RustSDKInitTask extends LaunchTask {
   @override

+ 1 - 1
app_flowy/lib/welcome/presentation/splash_screen.dart

@@ -2,7 +2,7 @@ import 'package:app_flowy/welcome/domain/i_splash.dart';
 import 'package:app_flowy/welcome/domain/auth_state.dart';
 import 'package:app_flowy/startup/startup.dart';
 import 'package:app_flowy/welcome/application/splash_bloc.dart';
-import 'package:flowy_infra/flowy_logger.dart';
+import 'package:flowy_log/flowy_log.dart';
 import 'package:flowy_sdk/dispatch/dispatch.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';

+ 1 - 1
app_flowy/lib/workspace/application/app/app_bloc.dart

@@ -1,5 +1,5 @@
 import 'package:app_flowy/workspace/domain/i_app.dart';
-import 'package:flowy_infra/flowy_logger.dart';
+import 'package:flowy_log/flowy_log.dart';
 import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
 import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';

+ 1 - 1
app_flowy/lib/workspace/application/menu/menu_bloc.dart

@@ -2,7 +2,7 @@ import 'dart:async';
 import 'package:app_flowy/workspace/domain/i_workspace.dart';
 import 'package:app_flowy/workspace/domain/page_stack/page_stack.dart';
 import 'package:dartz/dartz.dart';
-import 'package:flowy_infra/flowy_logger.dart';
+import 'package:flowy_log/flowy_log.dart';
 import 'package:flowy_sdk/protobuf/flowy-workspace/app_create.pb.dart';
 import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
 import 'package:flutter/material.dart';

+ 1 - 1
app_flowy/lib/workspace/application/menu/menu_watch.dart

@@ -1,5 +1,5 @@
 import 'package:app_flowy/workspace/domain/i_workspace.dart';
-import 'package:flowy_infra/flowy_logger.dart';
+import 'package:flowy_log/flowy_log.dart';
 import 'package:flowy_sdk/protobuf/flowy-workspace/app_create.pb.dart';
 import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
 import 'package:flutter/material.dart';

+ 1 - 1
app_flowy/lib/workspace/application/workspace/welcome_bloc.dart

@@ -1,6 +1,6 @@
 import 'package:app_flowy/workspace/domain/i_user.dart';
 import 'package:app_flowy/workspace/infrastructure/repos/user_repo.dart';
-import 'package:flowy_infra/flowy_logger.dart';
+import 'package:flowy_log/flowy_log.dart';
 import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
 import 'package:flowy_sdk/protobuf/flowy-workspace/workspace_create.pb.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';

+ 1 - 1
app_flowy/lib/workspace/infrastructure/i_doc_impl.dart

@@ -4,7 +4,7 @@ import 'package:dartz/dartz.dart';
 import 'package:flowy_editor/flowy_editor.dart';
 import 'package:app_flowy/workspace/domain/i_doc.dart';
 import 'package:app_flowy/workspace/infrastructure/repos/doc_repo.dart';
-import 'package:flowy_infra/flowy_logger.dart';
+import 'package:flowy_log/flowy_log.dart';
 import 'package:flowy_sdk/protobuf/flowy-document/doc.pb.dart';
 import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
 

+ 1 - 1
app_flowy/lib/workspace/infrastructure/repos/app_repo.dart

@@ -2,7 +2,7 @@ import 'dart:async';
 import 'dart:typed_data';
 import 'package:app_flowy/workspace/domain/i_app.dart';
 import 'package:dartz/dartz.dart';
-import 'package:flowy_infra/flowy_logger.dart';
+import 'package:flowy_log/flowy_log.dart';
 import 'package:flowy_sdk/dispatch/dispatch.dart';
 import 'package:flowy_sdk/protobuf/flowy-observable/subject.pb.dart';
 import 'package:flowy_sdk/protobuf/flowy-workspace/app_create.pb.dart';

+ 1 - 1
app_flowy/lib/workspace/infrastructure/repos/view_repo.dart

@@ -2,7 +2,7 @@ import 'dart:async';
 import 'dart:typed_data';
 
 import 'package:dartz/dartz.dart';
-import 'package:flowy_infra/flowy_logger.dart';
+import 'package:flowy_log/flowy_log.dart';
 import 'package:flowy_sdk/dispatch/dispatch.dart';
 import 'package:flowy_sdk/protobuf/flowy-observable/subject.pb.dart';
 import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';

+ 1 - 1
app_flowy/lib/workspace/infrastructure/repos/workspace_repo.dart

@@ -2,7 +2,7 @@ import 'dart:async';
 import 'dart:typed_data';
 
 import 'package:dartz/dartz.dart';
-import 'package:flowy_infra/flowy_logger.dart';
+import 'package:flowy_log/flowy_log.dart';
 import 'package:flowy_sdk/dispatch/dispatch.dart';
 import 'package:flowy_sdk/protobuf/flowy-observable/subject.pb.dart';
 import 'package:flowy_sdk/protobuf/flowy-user/user_profile.pb.dart';

+ 1 - 1
app_flowy/lib/workspace/presentation/app/view_list_page.dart

@@ -1,5 +1,5 @@
 import 'package:app_flowy/workspace/presentation/app/app_page.dart';
-import 'package:flowy_infra/flowy_logger.dart';
+import 'package:flowy_log/flowy_log.dart';
 import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
 import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';

+ 1 - 1
app_flowy/lib/workspace/presentation/doc/doc_stack_page.dart

@@ -2,7 +2,7 @@ import 'package:app_flowy/startup/startup.dart';
 import 'package:app_flowy/workspace/application/doc/doc_bloc.dart';
 import 'package:app_flowy/workspace/domain/page_stack/page_stack.dart';
 import 'package:app_flowy/workspace/presentation/doc/doc_page.dart';
-import 'package:flowy_infra/flowy_logger.dart';
+import 'package:flowy_log/flowy_log.dart';
 import 'package:flowy_infra_ui/widget/error_page.dart';
 import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
 import 'package:flutter/material.dart';

+ 1 - 1
app_flowy/lib/workspace/presentation/home/home_screen.dart

@@ -3,7 +3,7 @@ import 'package:app_flowy/workspace/application/home/home_auth_bloc.dart';
 import 'package:app_flowy/workspace/domain/page_stack/page_stack.dart';
 import 'package:app_flowy/workspace/presentation/widgets/prelude.dart';
 import 'package:app_flowy/startup/startup.dart';
-import 'package:flowy_infra/flowy_logger.dart';
+import 'package:flowy_log/flowy_log.dart';
 import 'package:flowy_infra_ui/style_widget/container.dart';
 import 'package:flowy_sdk/protobuf/flowy-user/protobuf.dart';
 import 'package:flutter/material.dart';

+ 14 - 0
app_flowy/packages/flowy_editor/example/pubspec.lock

@@ -78,6 +78,13 @@ packages:
       relative: true
     source: path
     version: "0.0.1"
+  flowy_log:
+    dependency: transitive
+    description:
+      path: "../../flowy_log"
+      relative: true
+    source: path
+    version: "0.0.1"
   flutter:
     dependency: "direct main"
     description: flutter
@@ -128,6 +135,13 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "0.6.3"
+  logger:
+    dependency: transitive
+    description:
+      name: logger
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.1.0"
   matcher:
     dependency: transitive
     description:

+ 13 - 12
app_flowy/packages/flowy_editor/lib/src/model/document/document.dart

@@ -12,6 +12,7 @@ import 'node/container.dart';
 import 'node/embed.dart';
 import 'node/line.dart';
 import 'node/node.dart';
+import 'package:flowy_log/flowy_log.dart';
 
 /// The rich text document
 class Document {
@@ -52,7 +53,7 @@ class Document {
   bool get hasRedo => _history.hasRedo;
 
   Delta insert(int index, Object? data, {int replaceLength = 0}) {
-    print('insert $data at $index');
+    Log.trace('insert $data at $index');
     assert(index >= 0);
     assert(data is String || data is Embeddable);
     if (data is Embeddable) {
@@ -69,11 +70,11 @@ class Document {
       length: replaceLength,
     );
 
-    print('current document delta: $_delta');
-    print('insert delta: $delta');
+    Log.trace('current document delta: $_delta');
+    Log.trace('insert delta: $delta');
     compose(delta, ChangeSource.LOCAL);
-    print('compose insert, current document $_delta');
-    print('compose end');
+    Log.trace('compose insert, current document $_delta');
+    Log.trace('compose end');
     return delta;
   }
 
@@ -81,9 +82,9 @@ class Document {
     assert(index >= 0 && length > 0);
     final delta = _rules.apply(RuleType.DELETE, this, index, length: length);
     if (delta.isNotEmpty) {
-      print('current document delta: $_delta');
+      Log.trace('current document delta: $_delta');
       compose(delta, ChangeSource.LOCAL);
-      print('compose delete, current document $_delta');
+      Log.trace('compose delete, current document $_delta');
     }
     return delta;
   }
@@ -100,17 +101,17 @@ class Document {
     // We have to insert before applying delete rules
     // Otherwise delete would be operating on stale document snapshot.
     if (dataIsNotEmpty) {
-      print('insert $data at $index, replace len: $length');
+      Log.trace('insert $data at $index, replace len: $length');
       delta = insert(index, data, replaceLength: length);
     }
 
     if (length > 0) {
-      print('delete $length at $index, len: $length');
+      Log.trace('delete $length at $index, len: $length');
       final deleteDelta = delete(index, length);
       delta = delta.compose(deleteDelta);
     }
 
-    print('replace result $delta');
+    Log.trace('replace result $delta');
     return delta;
   }
 
@@ -127,9 +128,9 @@ class Document {
       attribute: attribute,
     );
     if (formatDelta.isNotEmpty) {
-      print('current document delta: $_delta');
+      Log.trace('current document delta: $_delta');
       compose(formatDelta, ChangeSource.LOCAL);
-      print('compose format, current document $_delta');
+      Log.trace('compose format, current document $_delta');
       delta = delta.compose(formatDelta);
     }
 

+ 14 - 0
app_flowy/packages/flowy_editor/pubspec.lock

@@ -50,6 +50,13 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.2.0"
+  flowy_log:
+    dependency: "direct main"
+    description:
+      path: "../flowy_log"
+      relative: true
+    source: path
+    version: "0.0.1"
   flutter:
     dependency: "direct main"
     description: flutter
@@ -100,6 +107,13 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "0.6.3"
+  logger:
+    dependency: transitive
+    description:
+      name: logger
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.1.0"
   matcher:
     dependency: transitive
     description:

+ 2 - 0
app_flowy/packages/flowy_editor/pubspec.yaml

@@ -32,6 +32,8 @@ dependencies:
   meta: ^1.1.0
   quiver_hashcode: ^2.0.0
   pedantic: ^1.9.0
+  flowy_log:
+    path: ../flowy_log
 
 dev_dependencies:
   flutter_test:

+ 0 - 7
app_flowy/packages/flowy_infra/pubspec.lock

@@ -88,13 +88,6 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.0.1"
-  logger:
-    dependency: "direct main"
-    description:
-      name: logger
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "1.0.0"
   matcher:
     dependency: transitive
     description:

+ 0 - 1
app_flowy/packages/flowy_infra/pubspec.yaml

@@ -13,7 +13,6 @@ dependencies:
   time: '>=2.0.0'
   uuid: ">=2.2.2"
   textstyle_extensions: '2.0.0-nullsafety'
-  logger: ^1.0.0
   flutter_svg: ^0.22.0
 
 dev_dependencies:

+ 75 - 0
app_flowy/packages/flowy_log/.gitignore

@@ -0,0 +1,75 @@
+# Miscellaneous
+*.class
+*.log
+*.pyc
+*.swp
+.DS_Store
+.atom/
+.buildlog/
+.history
+.svn/
+
+# IntelliJ related
+*.iml
+*.ipr
+*.iws
+.idea/
+
+# The .vscode folder contains launch configuration and tasks you configure in
+# VS Code which you may wish to be included in version control, so this line
+# is commented out by default.
+#.vscode/
+
+# Flutter/Dart/Pub related
+**/doc/api/
+.dart_tool/
+.flutter-plugins
+.flutter-plugins-dependencies
+.packages
+.pub-cache/
+.pub/
+build/
+
+# Android related
+**/android/**/gradle-wrapper.jar
+**/android/.gradle
+**/android/captures/
+**/android/gradlew
+**/android/gradlew.bat
+**/android/local.properties
+**/android/**/GeneratedPluginRegistrant.java
+
+# iOS/XCode related
+**/ios/**/*.mode1v3
+**/ios/**/*.mode2v3
+**/ios/**/*.moved-aside
+**/ios/**/*.pbxuser
+**/ios/**/*.perspectivev3
+**/ios/**/*sync/
+**/ios/**/.sconsign.dblite
+**/ios/**/.tags*
+**/ios/**/.vagrant/
+**/ios/**/DerivedData/
+**/ios/**/Icon?
+**/ios/**/Pods/
+**/ios/**/.symlinks/
+**/ios/**/profile
+**/ios/**/xcuserdata
+**/ios/.generated/
+**/ios/Flutter/App.framework
+**/ios/Flutter/Flutter.framework
+**/ios/Flutter/Flutter.podspec
+**/ios/Flutter/Generated.xcconfig
+**/ios/Flutter/ephemeral
+**/ios/Flutter/app.flx
+**/ios/Flutter/app.zip
+**/ios/Flutter/flutter_assets/
+**/ios/Flutter/flutter_export_environment.sh
+**/ios/ServiceDefinitions.json
+**/ios/Runner/GeneratedPluginRegistrant.*
+
+# Exceptions to above rules.
+!**/ios/**/default.mode1v3
+!**/ios/**/default.mode2v3
+!**/ios/**/default.pbxuser
+!**/ios/**/default.perspectivev3

+ 10 - 0
app_flowy/packages/flowy_log/.metadata

@@ -0,0 +1,10 @@
+# This file tracks properties of this Flutter project.
+# Used by Flutter tool to assess capabilities and perform upgrades etc.
+#
+# This file should be version controlled and should not be manually edited.
+
+version:
+  revision: cc00e7e6bc281f6af9a257e7e33868ef782b1cf7
+  channel: dev
+
+project_type: package

+ 3 - 0
app_flowy/packages/flowy_log/CHANGELOG.md

@@ -0,0 +1,3 @@
+## 0.0.1
+
+* TODO: Describe initial release.

+ 1 - 0
app_flowy/packages/flowy_log/LICENSE

@@ -0,0 +1 @@
+TODO: Add your license here.

+ 39 - 0
app_flowy/packages/flowy_log/README.md

@@ -0,0 +1,39 @@
+<!-- 
+This README describes the package. If you publish this package to pub.dev,
+this README's contents appear on the landing page for your package.
+
+For information about how to write a good package README, see the guide for
+[writing package pages](https://dart.dev/guides/libraries/writing-package-pages). 
+
+For general information about developing packages, see the Dart guide for
+[creating packages](https://dart.dev/guides/libraries/create-library-packages)
+and the Flutter guide for
+[developing packages and plugins](https://flutter.dev/developing-packages). 
+-->
+
+TODO: Put a short description of the package here that helps potential users
+know whether this package might be useful for them.
+
+## Features
+
+TODO: List what your package can do. Maybe include images, gifs, or videos.
+
+## Getting started
+
+TODO: List prerequisites and provide or point to information on how to
+start using the package.
+
+## Usage
+
+TODO: Include short and useful examples for package users. Add longer examples
+to `/example` folder. 
+
+```dart
+const like = 'sample';
+```
+
+## Additional information
+
+TODO: Tell users more about the package: where to find more information, how to 
+contribute to the package, how to file issues, what response they can expect 
+from the package authors, and more.

+ 4 - 0
app_flowy/packages/flowy_log/analysis_options.yaml

@@ -0,0 +1,4 @@
+include: package:flutter_lints/flutter.yaml
+
+# Additional information about this file can be found at
+# https://dart.dev/guides/language/analysis-options

+ 5 - 1
app_flowy/packages/flowy_infra/lib/flowy_logger.dart → app_flowy/packages/flowy_log/lib/flowy_log.dart

@@ -14,7 +14,7 @@ class Log {
           lineLength: 120, // width of the output
           colors: true, // Colorful log messages
           printEmojis: true, // Print an emoji for each log message
-          printTime: true // Should each log print contain a timestamp
+          printTime: false // Should each log print contain a timestamp
           ),
     );
   }
@@ -27,6 +27,10 @@ class Log {
     Log.shared._logger.d(msg);
   }
 
+  static void trace(dynamic msg) {
+    Log.shared._logger.d(msg);
+  }
+
   static void error(dynamic msg) {
     Log.shared._logger.e(msg);
   }

+ 168 - 0
app_flowy/packages/flowy_log/pubspec.lock

@@ -0,0 +1,168 @@
+# Generated by pub
+# See https://dart.dev/tools/pub/glossary#lockfile
+packages:
+  async:
+    dependency: transitive
+    description:
+      name: async
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.7.0"
+  boolean_selector:
+    dependency: transitive
+    description:
+      name: boolean_selector
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.1.0"
+  characters:
+    dependency: transitive
+    description:
+      name: characters
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.1.0"
+  charcode:
+    dependency: transitive
+    description:
+      name: charcode
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.3.1"
+  clock:
+    dependency: transitive
+    description:
+      name: clock
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.1.0"
+  collection:
+    dependency: transitive
+    description:
+      name: collection
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.15.0"
+  fake_async:
+    dependency: transitive
+    description:
+      name: fake_async
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.2.0"
+  flutter:
+    dependency: "direct main"
+    description: flutter
+    source: sdk
+    version: "0.0.0"
+  flutter_lints:
+    dependency: "direct dev"
+    description:
+      name: flutter_lints
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.0.4"
+  flutter_test:
+    dependency: "direct dev"
+    description: flutter
+    source: sdk
+    version: "0.0.0"
+  lints:
+    dependency: transitive
+    description:
+      name: lints
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.0.1"
+  logger:
+    dependency: "direct main"
+    description:
+      name: logger
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.1.0"
+  matcher:
+    dependency: transitive
+    description:
+      name: matcher
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.12.10"
+  meta:
+    dependency: transitive
+    description:
+      name: meta
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.7.0"
+  path:
+    dependency: transitive
+    description:
+      name: path
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.8.0"
+  sky_engine:
+    dependency: transitive
+    description: flutter
+    source: sdk
+    version: "0.0.99"
+  source_span:
+    dependency: transitive
+    description:
+      name: source_span
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.8.1"
+  stack_trace:
+    dependency: transitive
+    description:
+      name: stack_trace
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.10.0"
+  stream_channel:
+    dependency: transitive
+    description:
+      name: stream_channel
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.1.0"
+  string_scanner:
+    dependency: transitive
+    description:
+      name: string_scanner
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.1.0"
+  term_glyph:
+    dependency: transitive
+    description:
+      name: term_glyph
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.2.0"
+  test_api:
+    dependency: transitive
+    description:
+      name: test_api
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.4.1"
+  typed_data:
+    dependency: transitive
+    description:
+      name: typed_data
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.3.0"
+  vector_math:
+    dependency: transitive
+    description:
+      name: vector_math
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.1.0"
+sdks:
+  dart: ">=2.12.0 <3.0.0"
+  flutter: ">=1.17.0"

+ 55 - 0
app_flowy/packages/flowy_log/pubspec.yaml

@@ -0,0 +1,55 @@
+name: flowy_log
+description: A new Flutter package project.
+version: 0.0.1
+homepage:
+
+environment:
+  sdk: ">=2.12.0 <3.0.0"
+  flutter: ">=1.17.0"
+
+dependencies:
+  flutter:
+    sdk: flutter
+  logger: ^1.0.0
+
+dev_dependencies:
+  flutter_test:
+    sdk: flutter
+  flutter_lints: ^1.0.0
+
+# For information on the generic Dart part of this file, see the
+# following page: https://dart.dev/tools/pub/pubspec
+
+# The following section is specific to Flutter.
+flutter:
+
+  # To add assets to your package, add an assets section, like this:
+  # assets:
+  #   - images/a_dot_burr.jpeg
+  #   - images/a_dot_ham.jpeg
+  #
+  # For details regarding assets in packages, see
+  # https://flutter.dev/assets-and-images/#from-packages
+  #
+  # An image asset can refer to one or more resolution-specific "variants", see
+  # https://flutter.dev/assets-and-images/#resolution-aware.
+
+  # To add custom fonts to your package, add a fonts section here,
+  # in this "flutter" section. Each entry in this list should have a
+  # "family" key with the font family name, and a "fonts" key with a
+  # list giving the asset and other descriptors for the font. For
+  # example:
+  # fonts:
+  #   - family: Schyler
+  #     fonts:
+  #       - asset: fonts/Schyler-Regular.ttf
+  #       - asset: fonts/Schyler-Italic.ttf
+  #         style: italic
+  #   - family: Trajan Pro
+  #     fonts:
+  #       - asset: fonts/TrajanPro.ttf
+  #       - asset: fonts/TrajanPro_Bold.ttf
+  #         weight: 700
+  #
+  # For details regarding fonts in packages, see
+  # https://flutter.dev/custom-fonts/#from-packages

+ 1 - 0
app_flowy/packages/flowy_log/test/flowy_log_test.dart

@@ -0,0 +1 @@
+

+ 8 - 29
app_flowy/packages/flowy_sdk/example/pubspec.lock

@@ -14,7 +14,7 @@ packages:
       name: async
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.6.1"
+    version: "2.7.0"
   boolean_selector:
     dependency: transitive
     description:
@@ -35,7 +35,7 @@ packages:
       name: charcode
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.2.0"
+    version: "1.3.1"
   clock:
     dependency: transitive
     description:
@@ -91,7 +91,7 @@ packages:
       name: file
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "6.1.1"
+    version: "6.1.2"
   fixnum:
     dependency: transitive
     description:
@@ -99,10 +99,10 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.0.0"
-  flowy_infra:
+  flowy_log:
     dependency: transitive
     description:
-      path: "../../flowy_infra"
+      path: "../../flowy_log"
       relative: true
     source: path
     version: "0.0.1"
@@ -193,7 +193,7 @@ packages:
       name: meta
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.3.0"
+    version: "1.7.0"
   path:
     dependency: transitive
     description:
@@ -275,21 +275,7 @@ packages:
       name: test_api
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.3.0"
-  textstyle_extensions:
-    dependency: transitive
-    description:
-      name: textstyle_extensions
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "2.0.0-nullsafety"
-  time:
-    dependency: transitive
-    description:
-      name: time
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "2.0.0"
+    version: "0.4.1"
   typed_data:
     dependency: transitive
     description:
@@ -297,13 +283,6 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.3.0"
-  uuid:
-    dependency: transitive
-    description:
-      name: uuid
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "3.0.4"
   vector_math:
     dependency: transitive
     description:
@@ -317,7 +296,7 @@ packages:
       name: vm_service
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "6.2.0"
+    version: "7.1.0"
   webdriver:
     dependency: transitive
     description:

+ 1 - 1
app_flowy/packages/flowy_sdk/lib/dispatch/dispatch.dart

@@ -1,6 +1,6 @@
 import 'dart:ffi';
 import 'package:dartz/dartz.dart';
-import 'package:flowy_infra/flowy_logger.dart';
+import 'package:flowy_log/flowy_log.dart';
 import 'package:flowy_sdk/protobuf/dart-ffi/ffi_response.pb.dart';
 import 'package:isolates/isolates.dart';
 import 'package:isolates/ports.dart';

+ 3 - 2
app_flowy/packages/flowy_sdk/lib/rust_stream.dart

@@ -2,7 +2,7 @@ import 'dart:isolate';
 import 'dart:async';
 import 'dart:typed_data';
 import 'dart:ffi';
-import 'package:flowy_infra/flowy_logger.dart';
+import 'package:flowy_log/flowy_log.dart';
 import 'protobuf/flowy-observable/subject.pb.dart';
 
 typedef ObserverCallback = void Function(ObservableSubject observable);
@@ -39,7 +39,8 @@ class RustStreamReceiver {
       final observable = ObservableSubject.fromBuffer(bytes);
       _observableController.add(observable);
     } catch (e, s) {
-      Log.error('RustStreamReceiver ObservableSubject deserialize error: ${e.runtimeType}');
+      Log.error(
+          'RustStreamReceiver ObservableSubject deserialize error: ${e.runtimeType}');
       Log.error('Stack trace \n $s');
       rethrow;
     }

+ 6 - 27
app_flowy/packages/flowy_sdk/pubspec.lock

@@ -28,7 +28,7 @@ packages:
       name: async
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.6.1"
+    version: "2.7.0"
   boolean_selector:
     dependency: transitive
     description:
@@ -105,7 +105,7 @@ packages:
       name: charcode
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.2.0"
+    version: "1.3.1"
   checked_yaml:
     dependency: transitive
     description:
@@ -197,10 +197,10 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.0.0"
-  flowy_infra:
+  flowy_log:
     dependency: "direct main"
     description:
-      path: "../flowy_infra"
+      path: "../flowy_log"
       relative: true
     source: path
     version: "0.0.1"
@@ -318,7 +318,7 @@ packages:
       name: meta
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.3.0"
+    version: "1.7.0"
   mime:
     dependency: transitive
     description:
@@ -442,21 +442,7 @@ packages:
       name: test_api
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.3.0"
-  textstyle_extensions:
-    dependency: transitive
-    description:
-      name: textstyle_extensions
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "2.0.0-nullsafety"
-  time:
-    dependency: transitive
-    description:
-      name: time
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "2.0.0"
+    version: "0.4.1"
   timing:
     dependency: transitive
     description:
@@ -471,13 +457,6 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.3.0"
-  uuid:
-    dependency: transitive
-    description:
-      name: uuid
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "3.0.4"
   vector_math:
     dependency: transitive
     description:

+ 3 - 2
app_flowy/packages/flowy_sdk/pubspec.yaml

@@ -16,8 +16,9 @@ dependencies:
   protobuf: "2.0.0"
   dartz: '0.10.0-nullsafety.2'
   freezed_annotation: ^0.14.1
-  flowy_infra:
-    path: ../flowy_infra
+  flowy_log:
+    path: ../flowy_log
+  
     
 dev_dependencies:
   flutter_test:

+ 7 - 0
app_flowy/pubspec.lock

@@ -267,6 +267,13 @@ packages:
       relative: true
     source: path
     version: "0.0.1"
+  flowy_log:
+    dependency: "direct main"
+    description:
+      path: "packages/flowy_log"
+      relative: true
+    source: path
+    version: "0.0.1"
   flowy_sdk:
     dependency: "direct main"
     description:

+ 2 - 0
app_flowy/pubspec.yaml

@@ -37,6 +37,8 @@ dependencies:
     path: packages/flowy_infra_ui
   flowy_infra:
     path: packages/flowy_infra
+  flowy_log:
+    path: packages/flowy_log
   
   #  third party packages
   time: '>=2.0.0'