updated logger_service.dart

appointment_merge
Faiz Hashmi 3 months ago
parent 4c54191a34
commit a459fb7cca

@ -106,7 +106,7 @@ class AppConstants {
static String testIP = '12.4.5.1'; // projectID.QlineType.ScreenType.AnyNumber (1 to 10)
static int thresholdForListUI = 3;
static double currentBuildVersion = 8.5;
static double currentBuildVersion = 8.6;
static double clearLogsHoursThreshold = 48;
}

@ -24,4 +24,9 @@ class GenericRespModel {
message: json["message"],
);
}
@override
String toString() {
return 'GenericRespModel{data: $data, messageStatus: $messageStatus, totalItemsCount: $totalItemsCount, message: $message}';
}
}

@ -12,4 +12,9 @@ class RssFeedModel {
data['rssFeed'] = rssFeed;
return data;
}
@override
String toString() {
return 'RssFeedModel{rssFeed: $rssFeed}';
}
}

@ -62,4 +62,9 @@ class WeathersWidgetModel {
return AppAssets.weatherIcon;
}
}
@override
String toString() {
return 'WeathersWidgetModel{id: $id, headline: $headline, maxTemp: $maxTemp, minTemp: $minTemp, iconPhrase: $iconPhrase, forecastDate: $forecastDate, cityID: $cityID, forecastDay: $forecastDay, createDateTime: $createDateTime, windSpeed: $windSpeed, windDirection: $windDirection, windDegrees: $windDegrees, weatherIconPath: $weatherIconPath}';
}
}

@ -106,6 +106,8 @@ class ScreenDetailsRepoImp implements ScreenDetailsRepo {
);
genericRespModel.data = KioskPatientTicket.fromJson(genericRespModel.data);
loggerService.logToFile(message: genericRespModel.toString(), source: "createTicketFromKiosk-> screen_details_repo.dart", type: LogTypeEnum.data);
return genericRespModel;
} catch (e) {
loggerService.logError(e.toString());
@ -127,6 +129,8 @@ class ScreenDetailsRepoImp implements ScreenDetailsRepo {
List<WeathersWidgetModel> weathersWidgetModel = List.generate(genericRespModel.data.length, (index) => WeathersWidgetModel.fromJson(genericRespModel.data[index]));
if (weathersWidgetModel.isNotEmpty) {
loggerService.logToFile(message: weathersWidgetModel.toString(), source: "getWeatherDetailsByCity-> screen_details_repo.dart", type: LogTypeEnum.data);
return weathersWidgetModel.first;
}
return null;
@ -150,6 +154,7 @@ class ScreenDetailsRepoImp implements ScreenDetailsRepo {
List<PrayersWidgetModel> prayersWidgetModel = List.generate(genericRespModel.data.length, (index) => PrayersWidgetModel.fromJson(genericRespModel.data[index]));
if (prayersWidgetModel.isNotEmpty) {
loggerService.logToFile(message: prayersWidgetModel.toString(), source: "getPrayerDetailsByLatLong-> screen_details_repo.dart", type: LogTypeEnum.data);
return prayersWidgetModel.first;
}
@ -174,6 +179,8 @@ class ScreenDetailsRepoImp implements ScreenDetailsRepo {
List<RssFeedModel> rssFeedModel = List.generate(genericRespModel.data.length, (index) => RssFeedModel.fromJson(genericRespModel.data[index]));
if (rssFeedModel.isNotEmpty) {
loggerService.logToFile(message: rssFeedModel.toString(), source: "getRssFeedDetailsByLanguageID-> screen_details_repo.dart", type: LogTypeEnum.data);
return rssFeedModel.first;
}
return null;

@ -11,7 +11,6 @@ import 'package:path_provider/path_provider.dart';
abstract class LoggerService {
Future<void> logToFile({required String message, required LogTypeEnum type, required String source});
void logError(String message);
void logInfo(String message);
@ -25,6 +24,7 @@ class LoggerServiceImp implements LoggerService {
@override
Future<void> logToFile({required String message, required LogTypeEnum type, required String source}) async {
try {
ScreenConfigViewModel screenConfigViewModel = getIt.get<ScreenConfigViewModel>();
final timestamp = DateFormat('yyyy-MM-dd hh:mm:ss a').format(DateTime.now());
final formattedMessage = "[$timestamp] [SOURCE: $source] ${type.name.toUpperCase()}: $message";
@ -38,9 +38,8 @@ class LoggerServiceImp implements LoggerService {
? AppStrings.errorLogsFileName
: AppStrings.dataLogsFileName;
final file = File('${logDir.path}/$logFileName');
final file = File('${logDir.path}/${screenConfigViewModel.currentScreenIP}_$logFileName');
ScreenConfigViewModel screenConfigViewModel = getIt.get<ScreenConfigViewModel>();
CacheService cacheService = getIt.get<CacheService>();
final lastLogsClearedAt = screenConfigViewModel.lastTimeLogsCleared;
@ -48,11 +47,13 @@ class LoggerServiceImp implements LoggerService {
if (lastLogsClearedAt != null &&
now.difference(lastLogsClearedAt).inHours >= AppConstants.clearLogsHoursThreshold) {
await file.writeAsString('');
final clearingMessage = "[$timestamp] [SOURCE: $source] ${type.name.toUpperCase()}: LOGS HAVE BEEN CLEARED";
await file.writeAsString(clearingMessage);
screenConfigViewModel.lastTimeLogsCleared = now;
cacheService.setLastTimeLogsCleared(lastTimeCleared: now.millisecondsSinceEpoch);
}
await file.writeAsString("$formattedMessage\n", mode: FileMode.append);
} catch (e) {
logger.e('Logging failed: $e');
}

Loading…
Cancel
Save