writeLog method
Implementation
Future<void> writeLog(String data) async {
if (_cacheDirectoryPath == null) {
await _initializeCacheDirectory();
}
final now = DateTime.now();
final logFilePath =
'$_cacheDirectoryPath/$logFilePrefix-${now.day.toString().padLeft(2, '0')}-${now.month.toString().padLeft(2, '0')}-${now.year}.txt';
final serializedData = _serializeData(data);
final timestamp = _getFormattedTimestamp();
final content = '$timestamp $serializedData\n';
_fileLocks[logFilePath] ??= Future.value();
_fileLocks[logFilePath] = _fileLocks[logFilePath]!
.then((_) async {
final logFile = File(logFilePath);
if (!await logFile.exists()) {
final header = await _createHeader();
await logFile.writeAsString(header, mode: FileMode.write);
}
await logFile.writeAsString(content, mode: FileMode.append);
})
.catchError((e) {});
return _fileLocks[logFilePath];
}