notube-export/lib/services/file_logger.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();
}
}