2024-10-03 05:54:29 -04:00
|
|
|
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';
|
2024-10-03 05:54:29 -04:00
|
|
|
|
|
|
|
|
Future<String> getLoggingFilePath() async {
|
2025-11-14 16:34:42 +08:00
|
|
|
// final Directory directory = await getApplicationDocumentsDirectory();
|
2025-11-28 17:05:35 +08:00
|
|
|
return '${appDocumentsDir.path}/$appName.log';
|
2024-10-03 05:54:29 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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}',
|
|
|
|
|
// );
|
|
|
|
|
// });
|
2024-10-03 05:54:29 -04:00
|
|
|
}
|
|
|
|
|
}
|