app scaffold
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
/// core_logging 的 Riverpod 接线。
|
||||
library;
|
||||
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import 'app_logger.dart';
|
||||
import 'crash_reporter.dart';
|
||||
import 'log_buffer.dart';
|
||||
|
||||
/// 环形缓冲的唯一实例。
|
||||
///
|
||||
/// `AppLogger` 往里写、`beforeSend` 从里读,两边必须是同一个对象,
|
||||
/// 否则崩溃上报里带的是一份空日志。
|
||||
final Provider<LogBuffer> logBufferProvider = Provider<LogBuffer>((Ref ref) => LogBuffer());
|
||||
|
||||
/// 全局日志入口。
|
||||
///
|
||||
/// 默认是 [NoopAppLogger]——真实实现需要 `AppEnv`,由 `app/` 的 `bootstrap()`
|
||||
/// 在拿到环境配置后 override。这样保证:即使某个测试忘了 override,
|
||||
/// 也只是没有日志,而不是启动就抛异常。
|
||||
final Provider<AppLogger> appLoggerProvider = Provider<AppLogger>(
|
||||
(Ref ref) => const NoopAppLogger(),
|
||||
);
|
||||
|
||||
/// 全局崩溃上报入口。默认空实现,同 [appLoggerProvider]。
|
||||
final Provider<CrashReporter> crashReporterProvider = Provider<CrashReporter>(
|
||||
(Ref ref) => const NoopCrashReporter(),
|
||||
);
|
||||
Reference in New Issue
Block a user