log_custom_printer library Core - Sistema de Logging
Biblioteca de logging para projetos Dart (CLI, servidor, scripts).
Pode ser usada também em apps Flutter; registe a impressora no main
antes de emitir logs.
Fornece um sistema completo de logging com:
- Hierarquia tipada de logs (Debug, Info, Warning, Error)
- Formatação colorida com códigos ANSI
- Serialização JSON automática
- Injeção de dependência via get_it
- Mixins utilitários para integração fácil
Uso Rápido
import 'package:log_custom_printer/log_custom_printer.dart';
// Configuração inicial (obrigatório no startup)
void main() {
registerLogPrinter(
const LogWithColorPrint(),
config: const ConfigLog(enableLog: true),
);
// Em Flutter: runApp(const MyApp());
}
// Usando o mixin (recomendado)
class MinhaClasse with LoggerClassMixin {
void executar() {
logDebug('Iniciando processo');
logInfo('Processo em andamento');
try {
// código da aplicação
} catch (error, stackTrace) {
logError('Erro: $error', stackTrace);
}
}
}
Tipos de Log
- DebugLog: Mensagens de depuração (amarelo)
- InfoLog: Informações gerais (branco)
- WarningLog: Avisos e alertas (verde)
- ErrorLog: Erros e exceções (vermelho)
Configuração
Configure o comportamento dos logs através de ConfigLog:
final config = ConfigLog(
enableLog: true,
onlyClasses: {DebugLog, ErrorLog},
);
Impressoras
Escolha entre diferentes estratégias de impressão:
- registerLogPrinterSimple: Saída simples sem cores
- registerLogPrinterColor: Saída com formatação colorida ANSI
Classes
- ConfigLog Configuração
- Configuração para controle de logs na biblioteca.
- DebugLog Tipos de Log
- Log de depuração (debug) com formatação amarela.
- ErrorLog Tipos de Log
- Log de erro com formatação vermelha e stack trace.
- FileManager Utilitários
- Implementação de gerenciamento de arquivos.
- IFileManagerType Utilitários
- Contrato para operações de leitura, escrita e remoção de arquivos.
- ILoggerCacheRepository Core - Sistema de Logging
- Contrato para persistência e consulta de logs.
- InfoLog Tipos de Log
- Log de informação geral com formatação branca.
- LogFilterEngine Query
- Aplica filtros de tipo e intervalo de data a uma lista de logs.
- LoggerAnsiColor Utilitários
- Classe para manipulação de cores ANSI em logs.
- LoggerCacheRepositoryImpl Utilitários
- Implementação concreta de ILoggerCacheRepository usando armazenamento em memória e opcionalmente em arquivo.
- LoggerObject Core - Sistema de Logging
- Marca base para objetos de log.
- LoggerObjectBase Core - Sistema de Logging
- Contrato base para objetos de log que podem ser impressos/serializados.
- LoggerPersistenceService Utilitários
- Serviço de persistência e consulta de logs.
- LogPrinterBase Impressoras de Log
- Classe base abstrata para impressoras de logs.
- LogPrinterService Core - Sistema de Logging
- Serviço central que coordena o processo de impressão e armazenamento de logs.
- LogQuery Query
- Parâmetros de consulta para filtro, ordenação e exportação de logs.
- LogSimplePrint Impressoras de Log
- Impressora simples de logs.
- LogSortEngine Query
- Ordena uma lista de logs com base nos parâmetros de LogQuery.
- LogWithColorPrint Impressoras de Log
- Impressora de logs que preserva cor/estilo ANSI.
- StackTraceConverter Utilitários
- Conversor JSON para serialização de StackTrace.
- WarningLog Tipos de Log
- Log de aviso (warning) com formatação verde.
Enums
- EnumAnsiColors
- Enumeração de cores ANSI disponíveis para formatação de texto em terminais.
- EnumLoggerType Utilitários
- Define os tipos de mensagens de log que podem ser manipulados.
- ExportFormat Core - Sistema de Logging
- Formato de exportação de logs.
- FileType Utilitários
- Tipos de arquivo suportados pelo FileManager.
- LogSortField Query
- Campo de ordenação de logs.
- SortDirection Query
- Direção de ordenação.
Mixins
- LoggerClassMixin Utilitários
- Mixin que fornece métodos utilitários de log para uma classe.
Extensions
- DateTimeLoggingExtensions on DateTime Utilitários
- Extension para formatação de data/hora em logs.
- LoggerEnum on LoggerObjectBase Utilitários
- Extensão para mapear objetos de log para o enum EnumLoggerType.
Functions
-
fetchLogPrinterService(
) → LogPrinterService Core - Sistema de Logging - Resolve o LogPrinterService registrado no get_it.
-
registerLogPrinter(
LogPrinterBase printer, {required ConfigLog config, ILoggerCacheRepository? cacheRepository}) → LoggerPersistenceService Core - Sistema de Logging - Registra o LogPrinterBase no get_it para injeção de dependência.
-
registerLogPrinterColor(
{ConfigLog? config, int maxLogsInCache = 100, String? cacheFilePath, FileType fileType = FileType.json}) → LoggerPersistenceService Core - Sistema de Logging - Registra uma impressora com formatação colorida.
-
registerLogPrinterSimple(
{ConfigLog? config, int maxLogsInCache = 100, String? cacheFilePath, FileType fileType = FileType.json}) → LoggerPersistenceService Core - Sistema de Logging - Registra uma impressora simples (sem cores).