From 6b1aa8c07df83fb5f64de267cc59f0706987e0ed Mon Sep 17 00:00:00 2001 From: ZhuJHua <1624109111@qq.com> Date: Wed, 5 Feb 2025 16:44:30 +0800 Subject: [PATCH] fix(log): log did not work in release mode --- lib/utils/log_util.dart | 54 +++++------------------------------------ 1 file changed, 6 insertions(+), 48 deletions(-) diff --git a/lib/utils/log_util.dart b/lib/utils/log_util.dart index 649ad94..7a33f96 100644 --- a/lib/utils/log_util.dart +++ b/lib/utils/log_util.dart @@ -1,58 +1,16 @@ -import 'dart:convert'; import 'dart:io'; import 'package:flutter/foundation.dart'; import 'package:logger/logger.dart'; import 'package:moodiary/utils/file_util.dart'; -class FileOutput extends LogOutput { - final bool overrideExisting; - final Encoding encoding; - IOSink? _sink; - - FileOutput({ - this.overrideExisting = false, - this.encoding = utf8, - }); - - @override - Future init() async { - final file = File(FileUtil.getErrorLogPath()); - if (!await file.exists()) { - await file.create(recursive: true); - await file.writeAsString(''); - } - return super.init(); - } - - void _initIOSink() { - _sink = File(FileUtil.getErrorLogPath()).openWrite( - mode: overrideExisting ? FileMode.write : FileMode.append, - encoding: encoding, - ); - } - - @override - void output(OutputEvent event) { - if (_sink == null) _initIOSink(); - - if (event.level.value >= Level.warning.value) { - _sink?.writeAll(event.lines, '\n'); - } - } - - @override - Future destroy() async { - await _sink?.flush(); - await _sink?.close(); - _sink = null; - return super.destroy(); - } -} - class LogUtil { - static final Logger _logger = - Logger(output: kDebugMode ? null : FileOutput()); + static final Logger _logger = Logger( + output: kDebugMode + ? ConsoleOutput() + : FileOutput(file: File(FileUtil.getErrorLogPath())), + filter: kDebugMode ? DevelopmentFilter() : ProductionFilter(), + ); static void printError(message, {required Object error, StackTrace? stackTrace}) {