import 'package:flutter/foundation.dart'; import 'package:logger/logger.dart'; import '../api/api_config.dart'; /// 统一应用日志,提升可读性:时间戳、级别、标签、格式化输出。 /// release 下默认仅输出 warning/error;ApiConfig.debugLogs=true 时放开全部级别。 /// /// 使用示例: /// 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: (kDebugMode || ApiConfig.debugLogs) ? Level.trace : Level.warning, ); 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); }