runLogging<L> method

  1. @override
L runLogging<L>(
  1. L fn(), [
  2. LogOptions options = const LogOptions()
])
override

Set up the logger

Implementation

@override
L runLogging<L>(
  L Function() fn, [
  LogOptions options = const LogOptions(),
]) {
  if (kReleaseMode && !options.logInRelease) {
    return fn();
  }
  logging.hierarchicalLoggingEnabled = true;

  _logger.onRecord
      .where((event) => event.loggerName == 'SizzleLogger')
      .listen((event) {
    final logMessage = event.toLogMessage();
    final message = options.formatter?.call(
          logMessage,
          options,
        ) ??
        _formatLoggerMessage(
          log: logMessage,
          options: options,
        );

    if (logMessage.logLevel.compareTo(options.level) < 0) {
      return;
    }

    debugPrint(message);
  });

  return fn();
}