efficient_dio_logger 1.8.0 copy "efficient_dio_logger: ^1.8.0" to clipboard
efficient_dio_logger: ^1.8.0 copied to clipboard

Not pretty, but efficient

example/main.dart

import 'dart:developer';

import 'package:dio/dio.dart';
import 'package:efficient_dio_logger/efficient_dio_logger.dart';
import 'package:logging/logging.dart';

void main() {
  Logger.root.level = Level.ALL;
  Logger.root.onRecord.listen((record) {
    log(
      record.message,
      time: record.time,
      sequenceNumber: record.sequenceNumber,
      level: record.level.value,
      name: record.loggerName,
      zone: record.zone,
      error: record.error,
      stackTrace: record.stackTrace,
    );
  });

  final dio = Dio();

  // Recommended for new code: lightweight output.
  dio.interceptors.add(EffDioLogger());

  // Turn on indented JSON output when needed.
  dio.interceptors.add(EffDioLogger(
    prettyJson: true,
    compact: false,
    maxWidth: null,
  ));

  // Use compat mode when migrating from EfficientDioLogger(...).
  dio.interceptors.add(EffDioLogger.compat(
    request: true,
    requestHeader: false,
    requestBody: false,
    responseHeader: false,
    responseBody: true,
    error: true,
    lineWidth: 160,
    maxWidth: 320,
    compact: true,
    prettyJson: true,
    logPrint: (logLine) => Logger('EffLogger').info('$logLine'),
    enabled: true,
    filter: (options, args) {
      if (options.path.contains('/posts')) {
        return false;
      }
      if (args.isResponse && args.hasUint8ListData) {
        return false;
      }
      return true;
    },
  ));

  // Deprecated but still supported for legacy call sites.
  dio.interceptors.add(EfficientDioLogger());
}
2
likes
150
points
303
downloads

Documentation

API reference

Publisher

verified publisherwyattcoder.top

Weekly Downloads

Not pretty, but efficient

Repository (GitHub)
View/report issues

Topics

#dio #logging

License

BSD-3-Clause (license)

Dependencies

dio, flutter, logging

More

Packages that depend on efficient_dio_logger