Files
flutter_common/lib/utils/log_utils.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),
]),
);
}
}