Componente LogViewer — sgcHTML | eSeGeCe

LogViewer

TsgcHTMLComponent_LogViewer — um visualizador de log / terminal em streaming com filtro por nível, busca, rolagem automática e temas claro/escuro, em Delphi, C++ Builder e .NET.

TsgcHTMLComponent_LogViewer

Envie linhas com AddLine, elas são mantidas em um buffer circular limitado, então leia a propriedade HTML — ou transmita novas linhas para os clientes conectados com GetLastLineFragmentHTML.

Classe do componente

TsgcHTMLComponent_LogViewer

Renderiza

Barra de ferramentas + corpo de log estilo terminal + CSS com escopo

Linguagens

Delphi, C++ Builder, .NET

Adicione linhas, renderize, transmita atualizações

Chame AddLine para cada entrada, leia HTML para a renderização inicial e então envie novas linhas para os clientes WebSocket abertos com GetLastLineFragmentHTML.

uses
  sgcHTML_Component_LogViewer;

var
  oLog: TsgcHTMLComponent_LogViewer;
begin
  oLog := TsgcHTMLComponent_LogViewer.Create(nil);
  try
    oLog.LogID := 'applog';
    oLog.Theme := ltDark;
    oLog.MaxLines := 500;
    oLog.Height := '400px';

    oLog.AddLine(llInfo, 'Service started', 'app');
    oLog.AddLine(llWarning, 'Low disk space', 'monitor');
    oLog.AddLine(llError, 'Connection refused', 'db');

    WebModule.Response := oLog.HTML;   // toolbar + log body + inline script
  finally
    oLog.Free;
  end;
end;

// Push one more line to every connected client, no full re-render:
oLog.AddLine(llInfo, 'New order received', 'orders');
TsgcHTMX_Engine_Server.BroadcastFragment(oLog.GetLastLineFragmentHTML);
// includes: sgcHTML_Component_LogViewer.hpp

TsgcHTMLComponent_LogViewer *oLog = new TsgcHTMLComponent_LogViewer(NULL);
try
{
  oLog->LogID = "applog";
  oLog->Theme = ltDark;
  oLog->MaxLines = 500;
  oLog->Height = "400px";

  oLog->AddLine(llInfo, "Service started", "app");
  oLog->AddLine(llWarning, "Low disk space", "monitor");
  oLog->AddLine(llError, "Connection refused", "db");

  String html = oLog->HTML;   // toolbar + log body + inline script

  // Push one more line to every connected client:
  oLog->AddLine(llInfo, "New order received", "orders");
  TsgcHTMX_Engine_Server::BroadcastFragment(oLog->GetLastLineFragmentHTML());
}
__finally
{
  delete oLog;
}
using esegece.sgcWebSockets;

var log = new TsgcHTMLComponent_LogViewer();
log.LogID = "applog";
log.Theme = TsgcHTMLLogTheme.ltDark;
log.MaxLines = 500;
log.Height = "400px";

log.AddLine(TsgcHTMLLogLevel.llInfo, "Service started", "app");
log.AddLine(TsgcHTMLLogLevel.llWarning, "Low disk space", "monitor");
log.AddLine(TsgcHTMLLogLevel.llError, "Connection refused", "db");

string html = log.HTML;   // toolbar + log body + inline script

// Push one more line to every connected client, no full re-render:
log.AddLine(TsgcHTMLLogLevel.llInfo, "New order received", "orders");
TsgcHTMX_Engine_Server.BroadcastFragment(log.GetLastLineFragmentHTML());

Principais propriedades & métodos

Os membros que você usa com mais frequência.

Adicionando linhas

AddLine(aLevel, aText, aSource) adiciona uma entrada com timestamp; MaxLines (padrão 500) limita o buffer circular e descarta a linha mais antiga. Clear o esvazia.

Níveis

TsgcHTMLLogLevelllTrace, llDebug, llInfo, llWarning, llError, llFatal — cada um com uma cor própria de acordo com o Theme.

Barra de ferramentas

ShowSearch, ShowLevelFilter e Title controlam a barra de ferramentas; a filtragem e o destaque rodam no cliente, sem round-trip ao servidor.

Rolagem automática

AutoScroll acompanha a linha mais recente; ShowAutoScrollToggle adiciona um checkbox para que o leitor possa pausar o acompanhamento ao rolar para trás.

Atualizações em streaming

GetLastLineFragmentHTML / GetLineFragmentHTML(aIndex) renderizam um fragmento out-of-band para TsgcHTMX_Engine_Server.PushFragment / BroadcastFragment.

Aparência

Theme (ltDark / ltLight), WrapLines, Height, TimeFormat e EmptyText ajustam a aparência.

Continue explorando

Ajuda onlineReferência completa da API e guia de uso para este componente.
Todos os Componentes sgcHTMLExplore a matriz completa de recursos com mais de 80 componentes.
Baixar Versão de Avaliação GratuitaA avaliação de 30 dias inclui os projetos de demonstração 60.HTML.
PreçosLicenças Single, Team e Site com código-fonte completo.

Pronto para Começar?

Baixe a versão de avaliação gratuita e adicione um visualizador de log em tempo real à sua aplicação web Delphi, C++ Builder ou .NET.