Vaani/lib/features/logging/core/logger.dart

35 lines
1.2 KiB
Dart
Raw Normal View History

import 'package:flutter/foundation.dart';
import 'package:logging/logging.dart';
import 'package:logging_appenders/logging_appenders.dart';
2025-11-14 16:34:42 +08:00
import 'package:vaani/globals.dart';
2025-12-22 15:04:04 +08:00
// import 'package:vaani/shared/extensions/duration_format.dart';
Future<String> getLoggingFilePath() async {
2025-11-14 16:34:42 +08:00
// final Directory directory = await getApplicationDocumentsDirectory();
return '${appDocumentsDir.path}/$appName.log';
}
Future<void> initLogging() async {
final formatter = const DefaultLogRecordFormatter();
if (kReleaseMode) {
Logger.root.level = Level.INFO; // is also the default
// Write to a file
RotatingFileAppender(
baseFilePath: await getLoggingFilePath(),
formatter: formatter,
).attachToLogger(Logger.root);
} else {
Logger.root.level = Level.FINE; // Capture all logs
RotatingFileAppender(
baseFilePath: await getLoggingFilePath(),
formatter: formatter,
).attachToLogger(Logger.root);
2025-12-22 15:04:04 +08:00
// Logger.root.onRecord.listen((record) {
// // Print log records to the console
// debugPrint(
// '${record.loggerName}: ${record.level.name}: ${record.time.time}: ${record.message}',
// );
// });
}
}