import 'package:flutter/foundation.dart'; import 'package:logger/logger.dart'; /// 统一应用日志,提升可读性:时间戳、级别、标签、格式化输出。 /// 在 release 下仅输出 warning/error,避免泄露信息。 /// /// 使用示例: /// final _log = AppLogger('GenerateVideo'); /// _log.d('task: $task'); /// _log.e('Generate failed', e, st); class AppLogger { AppLogger([this.tag = 'App']); final String tag; static Logger? _logger; static Logger get _instance { _logger ??= Logger( printer: PrettyPrinter( methodCount: 0, errorMethodCount: 6, lineLength: 80, colors: true, printEmojis: true, dateTimeFormat: DateTimeFormat.onlyTimeAndSinceStart, ), level: kReleaseMode ? Level.warning : Level.trace, ); return _logger!; } String _msg(Object? message) => '[$tag] $message'; void d(Object? message) => _instance.d(_msg(message)); void i(Object? message) => _instance.i(_msg(message)); void w(Object? message) => _instance.w(_msg(message)); void e(Object? message, [Object? error, StackTrace? stackTrace]) => _instance.e(_msg(message), error: error, stackTrace: stackTrace); }