Skip to main content

log_custom_printer 3.1.1 copy "log_custom_printer: ^3.1.1" to clipboard
log_custom_printer: ^3.1.1 copied to clipboard

Custom logging for Dart with ANSI colors, JSON serialization, and get_it DI.

example/main.dart

// ignore_for_file: avoid_print

import 'package:log_custom_printer/log_custom_printer.dart';

/// Exemplo de uso da biblioteca log_custom_printer em um ambiente Dart puro.
///
/// Este exemplo demonstra:
/// 1. Configuração inicial (registro da impressora)
/// 2. Emissão de logs de diferentes níveis (Debug, Info, Warning, Error)
/// 3. Uso do LoggerClassMixin para integração em classes
/// 4. Consulta e gerenciamento de logs via LoggerPersistenceService
/// 5. Serialização JSON
void main() async {
  // 1. Configuração inicial
  // Registramos uma impressora colorida para o console.
  // O LoggerPersistenceService retornado permite gerenciar o cache de logs.
  print('1. Configuração inicial:');
  persistenceService = registerLogPrinterColor(
    config: const ConfigLog(
      enableLog: true, // Habilita o processamento de logs
      onlyClasses: {DebugLog, InfoLog, WarningLog, ErrorLog},
    ),
    cacheFilePath: 'cache_logs',
    maxLogsInCache: 50, // Limite de logs no cache por tipo
  );
  // await persistenceService.getAllLogs();
  print('Configuração inicial concluída');

  // 2. Uso com Mixin (Recomendado para classes da aplicação)
  print('2. Usando LoggerClassMixin:');
  final app = MinhaApp();
  app.processarDados();
  print('Uso com Mixin concluído');

  // 4. Consulta ao cache de logs
  print('3. Consultando o cache de logs:');
  final allLogs = await persistenceService.getAllLogs();
  print('Total de logs capturados: ${allLogs.length}');

  print('Exemplo concluído');
}

late LoggerPersistenceService persistenceService;

/// Exemplo de classe utilizando o mixin de logging
class MinhaApp with LoggerClassMixin {
  void processarDados() {
    logDebug('Iniciando processamento de dados...');

    // Simulação de lógica
    logInfo('Dados validados com sucesso.');

    logWarning('O processamento demorou mais que o esperado.');
    print('--- Iniciando Exemplo log_custom_printer ---\n');
    logDebug('Esta é uma mensagem de debug ${StackTrace.current.toString()}');

    // 2. Emissão de logs manual
    print('2. Emitindo logs manualmente:');
    logDebug('Esta é uma mensagem de debug');
    logInfo('Informação importante do sistema');
    logWarning('Atenção: recurso atingindo limite');

    try {
      throw Exception('Falha crítica na operação');
    } catch (e, stack) {
      logError('Erro detectado: $e', stack);
    }
    print('');
  }
}
1
likes
0
points
987
downloads

Publisher

verified publishersaulogatti.com.br

Weekly Downloads

Custom logging for Dart with ANSI colors, JSON serialization, and get_it DI.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

get_it, json_annotation, meta, path

More

Packages that depend on log_custom_printer