Skip to content

Repository files navigation

log_generator

Pacote Flutter para logs coloridos no console, com suporte opcional a Firebase Crashlytics e Analytics.

Features

  • Logs coloridos via ANSI (verbose, debug, info, warning, error, analytics)
  • Logs com tag customizada (withTag)
  • Filtro por nível (minLevel)
  • Prefixo/sufixo e timestamp via Printer
  • Controle de console (enabled, padrão kDebugMode)
  • error com error, stackTrace e fatal opcionais
  • Integração opcional com Crashlytics (breadcrumbs + recordError)
  • Integração opcional com Analytics (logEvent)
  • Compatível com Web no console (sem dart:io)

Getting started

Adicione a dependência no pubspec.yaml:

dependencies:
  log_generator:
    path: ../log_generator # ou a origem do seu repositório

No app consumidor, inicialize o Firebase e injete as instâncias:

import 'package:firebase_analytics/firebase_analytics.dart';
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
import 'package:log_generator/log_generator.dart';

final log = LogGenerator(
  crashlytics: CrashlyticsRepository(FirebaseCrashlytics.instance),
  analytics: AnalyticsRepository(FirebaseAnalytics.instance),
);

Usage

import 'package:log_generator/log_generator.dart';

final log = LogGenerator(
  minLevel: LogLevel.info,
  printer: const Printer(showTimestamp: true),
  crashlytics: CrashlyticsRepository(FirebaseCrashlytics.instance),
  analytics: AnalyticsRepository(FirebaseAnalytics.instance),
);

log.verbose('detalhe fino'); // filtrado se minLevel for info
log.debug('estado interno');
log.info('Aplicação iniciada'); // console + breadcrumb Crashlytics
log.warning('Cache quase cheio');
log.error('Falha ao salvar', error: e, stackTrace: st, fatal: false);
log.analytics('login_success', parameters: {'method': 'email'});
log.withTag(tag: 'Auth', object: 'Usuário autenticado');

// Sem Firebase: só console
final consoleOnly = LogGenerator();
consoleOnly.info('ok');

// Desligar console (Crashlytics/Analytics continuam se injetados)
final silentConsole = LogGenerator(
  enabled: false,
  crashlytics: CrashlyticsRepository(FirebaseCrashlytics.instance),
);
silentConsole.info('não aparece no console, mas vira breadcrumb');

Additional information

Issues e contribuições: github.com/edianio/log_generator.

About

A simple logger to use with flutter pojects.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages