import 'dart:io'; import 'package:flutter/material.dart'; import 'package:friendica_archive_browser/src/utils/temp_file_builder.dart'; import 'package:logging/logging.dart'; import 'src/app.dart'; import 'src/settings/settings_controller.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); final logPath = await setupLogging(); Logger.root.info('Starting Facebook Archive Viewer'); final settingsController = SettingsController(logPath: logPath); await settingsController.loadSettings(); runApp(FriendicaArchiveBrowser(settingsController: settingsController)); } Future setupLogging() async { final logFilePath = await getTempFile('friendica_archive_browser_', '.log'); final logFile = File(logFilePath); Logger.root.level = Level.ALL; Logger.root.onRecord.listen((event) { final logName = event.loggerName.isEmpty ? 'ROOT' : event.loggerName; final msg = '${event.level.name} - $logName @ ${event.time}: ${event.message}\n'; final handle = logFile.openSync(mode: FileMode.append); handle.writeStringSync(msg); handle.closeSync(); }); return logFilePath; }