From 99cf7790a4e59ddf56168e15588ae2a1ff5b3389 Mon Sep 17 00:00:00 2001 From: thomashii Date: Fri, 18 Mar 2022 07:57:20 +0800 Subject: [PATCH] Updated file_service --- packages/file_service/CHANGELOG.md | 8 ++++++ packages/file_service/pubspec.yaml | 19 ++++++++++-- packages/framework/lib/src/core/server.dart | 32 +++++++++++++++++---- packages/production/lib/src/runner.dart | 23 +++++++++++---- packages/production/pubspec.yaml | 1 + 5 files changed, 69 insertions(+), 14 deletions(-) diff --git a/packages/file_service/CHANGELOG.md b/packages/file_service/CHANGELOG.md index edf3b6c3..5a6b7413 100644 --- a/packages/file_service/CHANGELOG.md +++ b/packages/file_service/CHANGELOG.md @@ -1,5 +1,13 @@ # Change Log +## 6.0.0 + +* Updated to min SDK 2.15.x + +## 5.0.0 + +* No release. Skipped + ## 4.1.0 * Upgraded to `lints` linter diff --git a/packages/file_service/pubspec.yaml b/packages/file_service/pubspec.yaml index 45d1af20..a9cc1f18 100644 --- a/packages/file_service/pubspec.yaml +++ b/packages/file_service/pubspec.yaml @@ -1,14 +1,27 @@ name: angel3_file_service -version: 4.1.0 +version: 6.0.0 description: Angel service that persists data to a file on disk, stored as a JSON list. homepage: https://angel3-framework.web.app/ repository: https://github.com/dukefirehawk/angel/tree/master/packages/file_service environment: sdk: '>=2.12.0 <3.0.0' dependencies: - angel3_framework: ^4.2.0 + angel3_framework: ^6.0.0 file: ^6.1.1 pool: ^1.5.0 dev_dependencies: - test: ^1.17.7 + test: ^1.20.0 lints: ^1.0.0 +dependency_overrides: + angel3_container: + path: ../container/angel_container + angel3_framework: + path: ../framework + angel3_http_exception: + path: ../http_exception + angel3_model: + path: ../model + angel3_route: + path: ../route + angel3_mock_request: + path: ../mock_request diff --git a/packages/framework/lib/src/core/server.dart b/packages/framework/lib/src/core/server.dart index dbd77772..3c302b36 100644 --- a/packages/framework/lib/src/core/server.dart +++ b/packages/framework/lib/src/core/server.dart @@ -55,13 +55,23 @@ Future _defaultErrorHandler( } } +/// Default ROOT level logger Logger _defaultLogger() { - Logger logger = Logger('SERVER') - //..level = Level.WARNING + Logger logger = Logger('ROOT') ..onRecord.listen((rec) { - print(rec); - if (rec.error != null) print(rec.error); - if (rec.stackTrace != null) print(rec.stackTrace); + if (rec.error == null) { + print(rec.message); + } + + if (rec.error != null) { + var err = rec.error; + if (err is AngelHttpException && err.statusCode != 500) return; + print('${rec.message} \n'); + print(rec.error); + if (rec.stackTrace != null) { + print(rec.stackTrace); + } + } }); return logger; @@ -120,7 +130,17 @@ class Angel extends Routable { Angel? get parent => _parent; /// Outputs diagnostics and debug messages. - Logger logger = _defaultLogger(); + Logger _logger = _defaultLogger(); + + Logger get logger => _logger; + + /// Assign a custom logger. + /// Passing null will reset to default logger + set logger(Logger? log) { + _logger.clearListeners(); + + _logger = log ?? _defaultLogger(); + } /// Plug-ins to be called right before server startup. /// diff --git a/packages/production/lib/src/runner.dart b/packages/production/lib/src/runner.dart index b9112f85..9b97d238 100644 --- a/packages/production/lib/src/runner.dart +++ b/packages/production/lib/src/runner.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'dart:io'; import 'dart:isolate'; +import 'package:intl/intl.dart'; import 'package:angel3_container/angel3_container.dart'; import 'package:angel3_framework/angel3_framework.dart'; import 'package:angel3_framework/http.dart'; @@ -54,21 +55,33 @@ _ ___ | /| / / /_/ / _ /___ _ /___ '''; + static DateFormat _defaultDateFormat = DateFormat('yyyy-MM-dd HH:mm:ss'); + /// LogRecord handler static void handleLogRecord(LogRecord? record, RunnerOptions options) { if (options.quiet || record == null) return; var code = chooseLogColor(record.level); - if (record.error == null) print(code.wrap(record.toString())); + var now = _defaultDateFormat.format(DateTime.now()); + + if (record.error == null) { + //print(code.wrap(record.message)); + print(code.wrap( + '$now ${record.level.name} [${record.loggerName}]: ${record.message}')); + } if (record.error != null) { var err = record.error; if (err is AngelHttpException && err.statusCode != 500) return; - print(code.wrap(record.toString() + '\n')); - print(code.wrap(err.toString())); + //print(code.wrap(record.message + '\n')); + print(code.wrap( + '$now ${record.level.name} [${record.loggerName}]: ${record.message} \n')); + print(code.wrap( + '$now ${record.level.name} [${record.loggerName}]: ${err.toString()}')); if (record.stackTrace != null) { - print(code.wrap(record.stackTrace.toString())); + print(code.wrap( + '$now ${record.level.name} [${record.loggerName}]: ${record.stackTrace.toString()}')); } } } @@ -220,7 +233,7 @@ _ ___ | /| / / /_/ / _ /___ _ /___ /// Run with main isolate static void isolateMain(_RunnerArgsWithId argsWithId) { var args = argsWithId.args; - hierarchicalLoggingEnabled = true; + hierarchicalLoggingEnabled = false; var zone = Zone.current.fork(specification: ZoneSpecification( print: (self, parent, zone, msg) { diff --git a/packages/production/pubspec.yaml b/packages/production/pubspec.yaml index dcbb2313..fa9b9b75 100644 --- a/packages/production/pubspec.yaml +++ b/packages/production/pubspec.yaml @@ -12,6 +12,7 @@ dependencies: args: ^2.3.0 io: ^1.0.0 logging: ^1.0.1 + intl: ^0.17.0 dev_dependencies: lints: ^1.0.1 dependency_overrides: