petsHero-AI/lib/core/log/app_logger.dart
2026-03-12 14:30:19 +08:00

41 lines
1.2 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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);
}