35 lines
867 B
Dart
35 lines
867 B
Dart
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<void> 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),
|
|
]),
|
|
);
|
|
}
|
|
}
|