Files
umbrix/lib/core/logger/custom_logger.dart

34 lines
689 B
Dart
Raw Normal View History

2023-08-19 22:27:23 +03:30
import 'dart:io';
import 'package:loggy/loggy.dart';
class FileLogPrinter extends LoggyPrinter {
2023-09-18 22:34:17 +03:30
FileLogPrinter(
String filePath, {
this.minLevel = LogLevel.debug,
}) : _logFile = File(filePath);
2023-08-19 22:27:23 +03:30
final File _logFile;
2023-09-18 22:34:17 +03:30
final LogLevel minLevel;
2023-08-19 22:27:23 +03:30
late final _sink = _logFile.openWrite(
mode: FileMode.writeOnly,
);
@override
void onLog(LogRecord record) {
2023-08-22 23:50:33 +03:30
final time = record.time.toIso8601String().split('T')[1];
_sink.writeln("$time - $record");
2023-12-22 14:16:24 +03:30
if (record.error != null) {
_sink.writeln(record.error);
}
if (record.stackTrace != null) {
_sink.writeln(record.stackTrace);
}
}
void dispose() {
_sink.close();
2023-08-19 22:27:23 +03:30
}
}