refactor: remove CrashReporter and related logging components
- Removed CrashReporter interface and its implementation, SentryCrashReporter. - Deleted log buffering functionality and associated LogBuffer class. - Updated LoggerAppLogger to eliminate dependencies on removed components. - Simplified logging structure to focus on AppLogger and sensitive data scrubbing. - Adjusted AppEnv to remove Sentry-related configurations. - Refactored tests to align with the new logging architecture.
This commit is contained in:
@@ -10,7 +10,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
///
|
||||
/// ---------------------------------------------------------------------------
|
||||
/// 它是**兜底**,不是主路径:UI 该显示的错误由 `AsyncValueView` 负责,这里只
|
||||
/// 负责"这个异常有没有人处理过"之外的另一件事——落日志和上报。
|
||||
/// 负责"这个异常有没有人处理过"之外的另一件事——落日志。
|
||||
///
|
||||
/// 三类要**主动排除**,否则线上告警会被噪音淹没:
|
||||
/// - [BusinessException]:后端明确告诉我们"这个操作不允许",是预期内的流程
|
||||
@@ -20,14 +20,11 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
/// ---------------------------------------------------------------------------
|
||||
final class ErrorObserver extends ProviderObserver {
|
||||
/// 构造。
|
||||
ErrorObserver({required this.logger, required this.reporter});
|
||||
ErrorObserver({required this.logger});
|
||||
|
||||
/// 日志出口。
|
||||
final AppLogger logger;
|
||||
|
||||
/// 崩溃上报出口。
|
||||
final CrashReporter reporter;
|
||||
|
||||
@override
|
||||
void providerDidFail(ProviderObserverContext context, Object error, StackTrace stackTrace) {
|
||||
final String name = context.provider.name ?? context.provider.runtimeType.toString();
|
||||
@@ -42,6 +39,5 @@ final class ErrorObserver extends ProviderObserver {
|
||||
}
|
||||
|
||||
logger.e('provider 失败 $name', error: error, stackTrace: stackTrace);
|
||||
reporter.report(error, stackTrace, extra: <String, String>{'provider': name});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user