roggle 0.2.0 copy "roggle: ^0.2.0" to clipboard
roggle: ^0.2.0 copied to clipboard

outdated

Simple, colorful and easy to expand logger for dart. Inspired by the logger and dependent to the logger.

example/main.dart

import 'package:roggle/roggle.dart';

bool get isRelease {
  var isRelease = true;
  assert(
    () {
      isRelease = false;
      return true;
    }(),
  );
  return isRelease;
}

const loggerName = '[APP]';

final logger = isRelease
    ? Roggle.crashlytics(
        printer: CrashlyticsPrinter(
          errorLevel: Level.error,
          onError: (event) {
            // Send an error to Firebase Crashlytics as follows

            // FirebaseCrashlytics.instance.recordError(
            //   event.exception,
            //   event.stack,
            //   fatal: true,
            // );

            // ignore: avoid_print
            print('FirebaseCrashlytics.exception: ${event.exception}');
            event.stack
                .toString()
                .split('\n')
                .where((line) => line.isNotEmpty)
                .forEach((line) {
              // ignore: avoid_print
              print('FirebaseCrashlytics.stack: $line');
            });
          },
          // ignore: unnecessary_lambdas
          onLog: (event) {
            // Send logs to Firebase Crashlytics as follows

            // FirebaseCrashlytics.instance.log(event.message);

            // ignore: avoid_print
            print('FirebaseCrashlytics.log: ${event.message}');
          },
          loggerName: loggerName,
        ),
      )
    : Roggle(
        printer: SinglePrettyPrinter(
          loggerName: loggerName,
          stackTraceLevel: Level.error,
        ),
      );

void main() {
  // ignore: avoid_print
  print(
    'Run with either `dart example/main.dart` or `dart --enable-asserts example/main.dart`.',
  );
  demo();
}

void demo() {
  logger.v('Hello roggle!');
  logger.d(1000);
  logger.i(true);
  logger.i([1, 2, 3]);
  logger.i({'key': 'key', 'value': 'value'});
  logger.i({'apple', 'banana'});
  logger.i(() => 'function message');
  logger.w(Exception('some exception'));
  logger.e(NullThrownError());

  try {
    throw Exception('some exception');
  } on Exception catch (e, s) {
    logger.wtf('wtf...', e, s);
  }
}
27
likes
0
pub points
78%
popularity

Publisher

verified publisherkeyber.jp

Simple, colorful and easy to expand logger for dart. Inspired by the logger and dependent to the logger.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

logger, meta, stack_trace

More

Packages that depend on roggle