From 06f1d1dca7fdea946a40b5033ae1515d14eb3ad3 Mon Sep 17 00:00:00 2001 From: basemosama Date: Sun, 29 Jun 2025 17:27:05 +0300 Subject: [PATCH 1/3] feat: Enhance logging methods to include message and tag parameters --- lib/src/logger/base_logger.dart | 16 ++++++++-------- lib/src/logger/playx_logger.dart | 18 +++++++++++++++++- lib/src/logger/playx_logger_settings.dart | 2 +- lib/src/playx_core.dart | 8 ++++---- 4 files changed, 30 insertions(+), 14 deletions(-) diff --git a/lib/src/logger/base_logger.dart b/lib/src/logger/base_logger.dart index b8cdf96..86d313a 100644 --- a/lib/src/logger/base_logger.dart +++ b/lib/src/logger/base_logger.dart @@ -30,25 +30,25 @@ abstract class PlayxBaseLogger { void log(dynamic message, {String? tag}); /// Alias for [debug] - void d(dynamic message, {String? tag}) => debug; + void d(dynamic message, {String? tag}) => debug(message, tag: tag); /// Alias for [info] - void i(dynamic message, {String? tag}) => info; + void i(dynamic message, {String? tag}) => info(message, tag: tag); /// Alias for [warning] - void w(dynamic message, {String? tag}) => warning; + void w(dynamic message, {String? tag}) => warning(message, tag: tag); /// Alias for [error] void e(dynamic message, - {Object? error, StackTrace? stackTrace, String? tag}) => - error; + {Object? error, StackTrace? stackTrace, String? tag}) => this.error(message, + error: error, stackTrace: stackTrace, tag: tag); /// Alias for [critical] - void c(dynamic message, {String? tag}) => critical; + void c(dynamic message, {String? tag}) => critical(message, tag: tag); /// Alias for [good] - void v(dynamic message, {String? tag}) => verbose; + void v(dynamic message, {String? tag}) => verbose(message, tag: tag); /// Alias for [log] - void l(dynamic message, {String? tag}) => log; + void l(dynamic message, {String? tag}) => log(message, tag: tag); } diff --git a/lib/src/logger/playx_logger.dart b/lib/src/logger/playx_logger.dart index cd6da6e..23eb4c2 100644 --- a/lib/src/logger/playx_logger.dart +++ b/lib/src/logger/playx_logger.dart @@ -1,6 +1,17 @@ +import 'package:talker_flutter/talker_flutter.dart'; + import 'talker_playx_logger.dart'; import 'playx_logger_settings.dart'; import 'base_logger.dart'; +class DefaultColoredLoggerFormatter implements LoggerFormatter { + @override + String fmt(LogDetails details, TalkerLoggerSettings settings) { + final msg = details.message?.toString() ?? ''; + final coloredMsg = + msg.split('\n').map((e) => details.pen.write(e)).toList().join('\n'); + return coloredMsg; + } +} /// A centralized static logger utility for Playx-based applications. /// @@ -40,9 +51,12 @@ class PlayxLogger { String? name, PlayxLoggerSettings? settings, bool setAsDefault = true, + bool useColoredFormatter = false, }) { final logger = TalkerPlayxLogger( - settings: settings ?? PlayxLoggerSettings(), name: name); + settings: settings ?? PlayxLoggerSettings( + formatter: useColoredFormatter? DefaultColoredLoggerFormatter() : ExtendedLoggerFormatter(), + ), name: name); name ??= 'PLAYX LOGGER'; _loggers[name] = logger; @@ -51,6 +65,8 @@ class PlayxLogger { } } + + /// Retrieves a logger instance by its [name]. /// /// Returns `null` if no logger exists with the given name. diff --git a/lib/src/logger/playx_logger_settings.dart b/lib/src/logger/playx_logger_settings.dart index 74f5cbf..fcfb3d6 100644 --- a/lib/src/logger/playx_logger_settings.dart +++ b/lib/src/logger/playx_logger_settings.dart @@ -68,7 +68,7 @@ class PlayxLoggerSettings { this.printDateTime = false, this.level = LogLevel.verbose, this.lineSymbol = '─', - this.maxLineWidth = 110, + this.maxLineWidth = 140, this.formatter = const ExtendedLoggerFormatter(), this.output, this.filter, diff --git a/lib/src/playx_core.dart b/lib/src/playx_core.dart index e367997..76667b2 100644 --- a/lib/src/playx_core.dart +++ b/lib/src/playx_core.dart @@ -102,8 +102,8 @@ abstract class PlayxCore { PlayxPrefsSettings prefsSettings = const PlayxPrefsSettings(), WorkManagerSettings workerManagerSettings = const WorkManagerSettings(), }) async { - PlayxLogger.initLogger(name: 'PLAYX CORE'); - logger.debug('Booting Preferences...'); + PlayxLogger.initLogger(name: 'PLAYX CORE', useColoredFormatter: true); + logger.i('Booting Preferences...'); if (prefsSettings.createPlayxPrefs) { await PlayxPrefs.create(); } @@ -120,7 +120,7 @@ abstract class PlayxCore { await PlayxSecurePrefs.create(securePrefsSettings: securePrefsSettings); } - logger.d('Booting Environment...'); + logger.i('Booting Environment...'); if (envSettings != null) { await PlayxEnv.load( fileName: envSettings.fileName, @@ -138,7 +138,7 @@ abstract class PlayxCore { } _getIt = GetIt.instance; - logger.debug('PlayxCore initialized'); + logger.i('PlayxCore initialized'); } /// Disposes the resources used by `playx_core`. From 0eab4b47dae8cd70f8252f536fbe2976d836d3af Mon Sep 17 00:00:00 2001 From: basemosama Date: Sun, 29 Jun 2025 17:35:50 +0300 Subject: [PATCH 2/3] feat: Update version to 0.7.2 and adjust max line width in logger settings --- .vscode/settings.json | 3 --- example/ios/.gitignore | 1 + lib/src/logger/playx_logger_settings.dart | 2 +- pubspec.yaml | 2 +- 4 files changed, 3 insertions(+), 5 deletions(-) delete mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 0df1cdd..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "cSpell.words": ["playx"] -} diff --git a/example/ios/.gitignore b/example/ios/.gitignore index 7a7f987..7b777c4 100644 --- a/example/ios/.gitignore +++ b/example/ios/.gitignore @@ -32,3 +32,4 @@ Runner/GeneratedPluginRegistrant.* !default.mode2v3 !default.pbxuser !default.perspectivev3 +/Podfile.lock diff --git a/lib/src/logger/playx_logger_settings.dart b/lib/src/logger/playx_logger_settings.dart index fcfb3d6..212f78a 100644 --- a/lib/src/logger/playx_logger_settings.dart +++ b/lib/src/logger/playx_logger_settings.dart @@ -68,7 +68,7 @@ class PlayxLoggerSettings { this.printDateTime = false, this.level = LogLevel.verbose, this.lineSymbol = '─', - this.maxLineWidth = 140, + this.maxLineWidth = 120, this.formatter = const ExtendedLoggerFormatter(), this.output, this.filter, diff --git a/pubspec.yaml b/pubspec.yaml index e3183f6..e34194c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: playx_core description: Core package for playx eco system contains shared classes and utilities. -version: 0.7.1 +version: 0.7.2 homepage: https://sourcya.io/ repository: https://github.com/playx-flutter/playx_core issue_tracker: https://github.com/playx-flutter/playx_core/issues From f5c36ae676fd0548ba60365b2b907ad8696b290c Mon Sep 17 00:00:00 2001 From: basemosama Date: Sun, 29 Jun 2025 17:36:26 +0300 Subject: [PATCH 3/3] feat: Update CHANGELOG for version 0.7.2 with enhancements to logging methods --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 912ae49..3c831dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +## 0.7.2 +- Enhance logging methods in `PlayxCore` to use the new `PlayxLogger` system. + ## 0.7.1 - Updated dependencies.