Ir para o conteúdo
CDGet
  • Início
  • Projetos
  1. Início
  2. Todos os projetos
  3. lognal

lognal

Biblioteca

Um visualizador de registos com o aspeto e o comportamento de um terminal, para a web e para Flutter. Desenha a saída num canvas em vez de criar um elemento por linha, pelo que um fluxo rápido de mensagens e um histórico de dezenas de milhares de entradas custam o mesmo fotograma, e a aplicação não tem de construir o seu próprio painel de consola.

Site (abre em uma nova aba)Documentação (abre em uma nova aba)Código-fonte (abre em uma nova aba)

Sobre este projeto

O lognal é um visualizador de registos para aplicações que precisam de mostrar a sua saída no próprio ecrã: um painel de consola numa página web, uma vista de depuração numa aplicação Flutter ou uma janela para ler um ficheiro de registo. Guarda as entradas como dados simples e desenha no canvas apenas as linhas visíveis, pelo que o custo de um fotograma depende do que está no ecrã e não do tamanho do histórico. O núcleo que está por baixo — o armazenamento, o filtro, a composição do texto e o layout — está escrito duas vezes, em TypeScript e em Dart, ficheiro a ficheiro, e por isso uma linha quebra no mesmo ponto, ocupa a mesma largura e responde da mesma forma a uma pesquisa num navegador e numa aplicação.

Reproduz o que o ambiente de execução já imprime — console.log, console.table e console.group num navegador, print e debugPrint em Flutter — sem que a saída original deixe de funcionar. Lê ficheiros de registo e deteta a sua codificação, converte os códigos de escape ANSI em cor e consegue acompanhar um ficheiro que não para de crescer. Objetos, listas, mapas e erros são capturados no momento em que são registados e abrem e fecham no próprio lugar. A barra de ferramentas acompanha as novas entradas, filtra por texto e por nível, e a pesquisa realça cada correspondência em vez de esconder o resto; uma linha de entrada opcional passa os comandos a uma função e mostra as respostas. O coreano e outros caracteres largos mantêm-se na grelha, as palavras em hangul não se partem na mudança de linha e a linha de entrada espera que o método de introdução termine a composição. Os controlos são botões verdadeiros com nomes acessíveis, e uma lista oculta replica as entradas visíveis para os leitores de ecrã.

O pacote npm não tem dependências em tempo de execução: o React é uma dependência de par opcional, necessária apenas para o componente de lognal/react, e a folha de estilos é uma única importação. O pacote Flutter depende só do SDK do Flutter e assenta na camada de widgets, sem Material nem Cupertino, pelo que cabe em qualquer aplicação sem trazer um segundo sistema de design. Inclui seis paletas, auto segue a definição clara ou escura do sistema, e um tema próprio é um bloco de propriedades personalizadas de CSS ou uma chamada a buildTheme. O pacote JavaScript é ESM com declarações TypeScript, e cada pacote tem a sua própria versão e o seu próprio registo de alterações.

Funcionalidades

  • Site de documentação

  • Tipos de TypeScript

  • Vários idiomas

  • Verificado por testes

  • Multiplataforma

  • Acessível de origem

  • Modo escuro

  • Permite tree shaking

  • Sem dependências

Informação do projeto

Início
2026
Licença
MIT (abre em uma nova aba)
Linguagens de programação
DartJavaScript
Etiquetas
log-viewerlog-monitoringconsolecanvasreactflutter
Pacotes
lognal (abre em uma nova aba)npmlognal (abre em uma nova aba)pub.dev
Popularidade
330
Transferências de npm
Pontos de dados: 30. Intervalo: de 0 a 152.
lognal — Transferências de npm, Últimos 30 dias
Transferências de npm
2 de set.0
3 de set.0
4 de set.0
5 de set.0
6 de set.0
7 de set.0
8 de set.0
9 de set.0
10 de set.0
11 de set.0
12 de set.0
13 de set.123
14 de set.12
15 de set.0
16 de set.1
17 de set.152
18 de set.14
19 de set.7
20 de set.2
21 de set.4
22 de set.0
23 de set.6
24 de set.3
25 de set.1
26 de set.1
27 de set.2
28 de set.0
29 de set.1
30 de set.1
1 de out.0
Últimos 30 dias
ContactoDoar
Os projetos listados aqui são de código aberto sob a Licença MIT.© 2026 CDGet. Todos os direitos reservados.