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 String testIP = '12.4.5.1'; // projectID.QlineType.ScreenType.AnyNumber (1 to 10)
static int thresholdForListUI = 3; static int thresholdForListUI = 3;
static double currentBuildVersion = 8.5; static double currentBuildVersion = 8.6;
static double clearLogsHoursThreshold = 48; static double clearLogsHoursThreshold = 48;
} }

@ -24,4 +24,9 @@ class GenericRespModel {
message: json["message"], 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; data['rssFeed'] = rssFeed;
return data; return data;
} }
@override
String toString() {
return 'RssFeedModel{rssFeed: $rssFeed}';
}
} }

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

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

Loading…
Cancel
Save