mars_logging 0.0.1-dev.1 copy "mars_logging: ^0.0.1-dev.1" to clipboard
mars_logging: ^0.0.1-dev.1 copied to clipboard

Mars integration for logging package.

example/lib/main.dart

import 'package:clover/clover.dart';
// import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:logging/logging.dart';
import 'package:mars_logging/mars_logging.dart';

import 'view_models.dart';
import 'views.dart';
// import 'package:path/path.dart' as path;

void main() {
  // final filesDir = Dirs.filesDir;
  // final externalFilesDir = Dirs.externalFilesDir ?? filesDir;
  // final cacheDir = path.join(filesDir.path, 'xlog');
  // final logDir = path.join(externalFilesDir.path, 'log');
  // const nameprefix = 'log';
  // if (kDebugMode) {
  //   Xlog.useConsole = true;
  //   Xlog.open(
  //     level: XlogLevel.debug,
  //     cacheDir: cacheDir,
  //     logDir: logDir,
  //     nameprefix: nameprefix,
  //   );
  // } else {
  //   Xlog.useConsole = false;
  //   Xlog.open(
  //     level: XlogLevel.info,
  //     cacheDir: cacheDir,
  //     logDir: logDir,
  //     nameprefix: nameprefix,
  //   );
  // }
  Logger.root.level = Level.ALL;
  Logger.root.onRecord.listen(Xlog.onRecord);
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  final Logger logger;

  MyApp({super.key}) : logger = Logger('MyApp');

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  late final GoRouter routerConfig;

  @override
  void initState() {
    super.initState();
    routerConfig = GoRouter(
      routes: [
        GoRoute(
          path: '/',
          builder: (context, state) => ViewModelBinding(
            viewBuilder: () => const HomeView(),
            viewModelBuilder: () => HomeViewModel(),
          ),
          routes: [
            GoRoute(
              path: 'logs',
              builder: (context, state) => ViewModelBinding(
                viewBuilder: () => const LogsView(),
                viewModelBuilder: () => LogsViewModel(),
              ),
              routes: [
                GoRoute(
                  path: ':logName',
                  builder: (context, state) => ViewModelBinding(
                    viewBuilder: () => const LogView(),
                    viewModelBuilder: () {
                      final logName = state.pathParameters['logName'];
                      if (logName == null) {
                        throw ArgumentError.notNull();
                      }
                      return LogViewModel(logName);
                    },
                  ),
                )
              ],
            ),
          ],
        ),
      ],
    );
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      routerConfig: routerConfig,
    );
  }
}
0
likes
0
points
144
downloads

Publisher

verified publisherhebei.dev

Weekly Downloads

Mars integration for logging package.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, jni, logging, plugin_platform_interface

More

Packages that depend on mars_logging