Pacote Flutter para logs coloridos no console, com suporte opcional a Firebase Crashlytics e Analytics.
- 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ãokDebugMode) errorcomerror,stackTraceefatalopcionais- Integração opcional com Crashlytics (breadcrumbs +
recordError) - Integração opcional com Analytics (
logEvent) - Compatível com Web no console (sem
dart:io)
Adicione a dependência no pubspec.yaml:
dependencies:
log_generator:
path: ../log_generator # ou a origem do seu repositórioNo 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),
);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');Issues e contribuições: github.com/edianio/log_generator.