|
|
|
@ -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');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|