From 237a310006be64734bb5c95056fc7d6275d7ad22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Azad=20Erdo=C4=9Fan?= Date: Thu, 28 Aug 2025 11:46:16 +0300 Subject: [PATCH] Add log timestamp option to Dio logger settings - Introduced `logTimestamp` setting in `TalkerDioLoggerSettings` to control timestamp logging. - Updated `DioRequestLog`, `DioResponseLog`, and `DioErrorLog` to include timestamp in log messages when `logTimestamp` is enabled. --- packages/talker_dio_logger/lib/dio_logs.dart | 15 +++++++++++++++ .../lib/talker_dio_logger_settings.dart | 6 ++++++ 2 files changed, 21 insertions(+) diff --git a/packages/talker_dio_logger/lib/dio_logs.dart b/packages/talker_dio_logger/lib/dio_logs.dart index c831c1af..4d2334ba 100644 --- a/packages/talker_dio_logger/lib/dio_logs.dart +++ b/packages/talker_dio_logger/lib/dio_logs.dart @@ -32,6 +32,11 @@ class DioRequestLog extends TalkerLog { }) { var msg = '[$title] [${requestOptions.method}] $message'; + if (settings.logTimestamp) { + msg += + '\n Date: ${displayTime(timeFormat: TimeFormat.yearMonthDayAndTime)}'; + } + final data = requestOptions.data; final headers = Map.from(requestOptions.headers); @@ -119,6 +124,11 @@ class DioResponseLog extends TalkerLog { }) { var msg = '[$title] [${response.requestOptions.method}] $message'; + if (settings.logTimestamp) { + msg += + '\n Date: ${displayTime(timeFormat: TimeFormat.yearMonthDayAndTime)}'; + } + final responseMessage = response.statusMessage; final data = response.data; final headers = response.headers.map; @@ -187,6 +197,11 @@ class DioErrorLog extends TalkerLog { }) { var msg = '[$title] [${dioException.requestOptions.method}] $message'; + if (settings.logTimestamp) { + msg += + '\n Date: ${displayTime(timeFormat: TimeFormat.yearMonthDayAndTime)}'; + } + final responseMessage = dioException.message; final statusCode = dioException.response?.statusCode; final data = dioException.response?.data; diff --git a/packages/talker_dio_logger/lib/talker_dio_logger_settings.dart b/packages/talker_dio_logger/lib/talker_dio_logger_settings.dart index 497a6e05..def2ab8a 100644 --- a/packages/talker_dio_logger/lib/talker_dio_logger_settings.dart +++ b/packages/talker_dio_logger/lib/talker_dio_logger_settings.dart @@ -17,6 +17,7 @@ class TalkerDioLoggerSettings { this.printRequestData = true, this.printRequestHeaders = false, this.printRequestExtra = false, + this.logTimestamp = false, this.hiddenHeaders = const {}, this.responseDataConverter, this.requestPen, @@ -66,6 +67,9 @@ class TalkerDioLoggerSettings { /// Print [request.extra] if true final bool printRequestExtra; + /// Print timestamp in logs if true + final bool logTimestamp; + /// Field to set custom http request console logs color ///``` ///// Red color @@ -129,6 +133,7 @@ class TalkerDioLoggerSettings { bool? printRequestData, bool? printRequestHeaders, bool? printRequestExtra, + bool? logTimestamp, AnsiPen? requestPen, AnsiPen? responsePen, AnsiPen? errorPen, @@ -150,6 +155,7 @@ class TalkerDioLoggerSettings { printRequestData: printRequestData ?? this.printRequestData, printRequestHeaders: printRequestHeaders ?? this.printRequestHeaders, printRequestExtra: printRequestExtra ?? this.printRequestExtra, + logTimestamp: logTimestamp ?? this.logTimestamp, requestPen: requestPen ?? this.requestPen, responsePen: responsePen ?? this.responsePen, errorPen: errorPen ?? this.errorPen,