import 'dart:convert'; import 'dart:io'; import 'package:flutter/foundation.dart'; import 'package:logger/logger.dart'; import 'package:path_provider/path_provider.dart'; // 全局日志实例 late Logger logger; // 初始化日志 Future initLogger() async { if (kIsWeb) { logger = Logger( printer: SimplePrinter(printTime: true), output: ConsoleOutput(), ); } else { final directory = await getExternalStorageDirectory(); final logFile = File('${directory?.path}/logs/app.log'); // 确保文件存在(会自动创建) await logFile.create(recursive: true); logger = Logger( filter: ProductionFilter(), printer: SimplePrinter(printTime: true), output: MultiOutput([ ConsoleOutput(), FileOutput(file: logFile, overrideExisting: true, encoding: utf8), ]), ); } }