LogViewer Component — sgcHTML | eSeGeCe

LogViewer

TsgcHTMLComponent_LogViewer — un visualizzatore di log/terminale in streaming con filtro per livello, ricerca, auto-scroll e temi chiaro/scuro, in Delphi, C++ Builder e .NET.

TsgcHTMLComponent_LogViewer

Invia le righe con AddLine, che vengono mantenute in un ring buffer con limite massimo, quindi leggi la proprietà HTML — oppure trasmetti in streaming le nuove righe ai client connessi con GetLastLineFragmentHTML.

Classe del componente

TsgcHTMLComponent_LogViewer

Renderizza

Toolbar + terminal-style log body + scoped CSS

Linguaggi

Delphi, C++ Builder, .NET

Aggiungi le righe, renderizzalo, trasmetti gli aggiornamenti

Chiama AddLine per ogni voce, leggi HTML per il rendering iniziale, quindi invia le nuove righe ai client WebSocket aperti con 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());

Proprietà e metodi principali

I membri che utilizzerai più spesso.

Aggiungere righe

AddLine(aLevel, aText, aSource) aggiunge una voce con timestamp; MaxLines (predefinito 500) limita il ring buffer ed elimina la riga più vecchia. Clear lo svuota.

Livelli

TsgcHTMLLogLevelllTrace, llDebug, llInfo, llWarning, llError, llFatal — ciascuno colorato in base al Theme.

Barra degli strumenti

ShowSearch, ShowLevelFilter e Title controllano la barra degli strumenti; il filtraggio e l’evidenziazione avvengono lato client, senza round-trip.

Auto-scroll

AutoScroll segue la riga più recente; ShowAutoScrollToggle aggiunge una checkbox che permette al lettore di sospendere lo scorrimento automatico durante la consultazione della cronologia.

Aggiornamenti in streaming

GetLastLineFragmentHTML / GetLineFragmentHTML(aIndex) renderizzano un frammento out-of-band per TsgcHTMX_Engine_Server.PushFragment / BroadcastFragment.

Aspetto

Theme (ltDark / ltLight), WrapLines, Height, TimeFormat ed EmptyText regolano l’aspetto.

Continua a esplorare

Guida in lineaRiferimento API completo e guida all’uso per questo componente.
Tutti i componenti sgcHTMLEsplora la matrice completa delle funzionalità di oltre 80 componenti.
Scarica la Prova GratuitaLa prova di 30 giorni include i progetti demo 60.HTML.
PrezziLicenze Single, Team e Site con codice sorgente completo.

Pronto a Iniziare?

Scarica la versione di prova gratuita e aggiungi un visualizzatore di log live alla tua app web in Delphi, C++ Builder o .NET.