corin 0.1.2
corin: ^0.1.2 copied to clipboard
A powerful devtool includes device informations, developer log, etc.
Corin Devtool #
this is a working in progress project. DO NOT USE IN PRODUCTION using this package in production environment can be attacked
Getting Started #
install dependency #
- install from shell
flutter pub add dev:corin
- install from pubspec.yaml
dev_dependencies:
corin: version_name
Usage #
Add to app #
import 'package:corin/corin.dart';
final _navigatorKey = GlobalKey<NavigatorState>();
Widget build(BuildContext context) {
return MaterialApp(
title: 'Demo',
navigatorKey: _navigatorKey,
builder: kDebugMode
? (context, child) {
return corinBuilder(context, _navigatorKey, child);
}
: null,
home: HomePage(),
);
}
add dio interceptor #
if(kDebugMode) {
dio.interceptors.add(CorinNetworkInterceptor());
}
add Error Handler #
if(kDebugMode) {
FlutterError.onError = (detail) {
CorinDev.logFlutterError(detail);
FlutterError.dumpErrorToConsole(detail);
};
PlatformDispatcher.instance.onError = (error, stack) {
CorinDev.logPlatformError(error, stack);
return true;
};
}
add custom log #
void log(
String message, {
String tag = 'log',
Object? error,
StackTrace? st,
LogLevel level = LogLevel.info,
}) {
if (kDebugMode) {
CorinDev.log(
LogRecord(message: message, tag: tag, error: error, level: level),
);
}
}
add custom tool #
class TestTool extends ToolBase {
@override
String get name => 'Test';
@override
Widget build() => Center(child: FlutterLogo());
}
if(kDebugMode) {
CorinDev.addApp(TestTool());
}