Files
Reboot-Launcher/common/lib/src/util/log.dart
Alessandro Autiero cd8c8e6dd9 Release 9.2.3
2024-07-10 15:11:49 +02:00

29 lines
743 B
Dart

import 'dart:io';
import 'package:reboot_common/common.dart';
import 'package:sync/semaphore.dart';
final File launcherLogFile = _createLoggingFile();
final Semaphore _semaphore = Semaphore(1);
File _createLoggingFile() {
final file = File("${installationDirectory.path}\\launcher.log");
file.parent.createSync(recursive: true);
if(file.existsSync()) {
file.deleteSync();
}
file.createSync();
return file;
}
void log(String message) async {
try {
await _semaphore.acquire();
print(message);
await launcherLogFile.writeAsString("$message\n", mode: FileMode.append, flush: true);
}catch(error) {
print("[LOGGER_ERROR] An error occurred while logging: $error");
}finally {
_semaphore.release();
}
}