49 lines
1016 B
Dart
49 lines
1016 B
Dart
import 'dart:io';
|
|
import 'package:path_provider/path_provider.dart';
|
|
import 'package:logger/logger.dart';
|
|
import 'package:flutter/foundation.dart';
|
|
|
|
class FileLogger {
|
|
static final FileLogger _instance = FileLogger._internal();
|
|
late Logger _logger;
|
|
late File _logFile;
|
|
|
|
factory FileLogger() {
|
|
return _instance;
|
|
}
|
|
|
|
FileLogger._internal();
|
|
|
|
Future<void> init() async {
|
|
_logFile = File('apps_logs.txt');
|
|
|
|
_logger = Logger(
|
|
filter: ProductionFilter(),
|
|
printer: PrettyPrinter(),
|
|
output: FileOutput(file: _logFile),
|
|
);
|
|
}
|
|
|
|
void d(String message) {
|
|
FileLogger().d(message);
|
|
_logger.d(message);
|
|
}
|
|
|
|
void i(String message) {
|
|
_logger.i(message);
|
|
}
|
|
|
|
void w(String message) {
|
|
FileLogger().d(message);
|
|
_logger.w(message);
|
|
}
|
|
|
|
void e(String message, [dynamic error, StackTrace? stackTrace]) {
|
|
_logger.e(message, error: error, stackTrace: stackTrace);
|
|
}
|
|
|
|
Future<String> getLogContent() async {
|
|
return await _logFile.readAsString();
|
|
}
|
|
}
|