Componente LogViewer — sgcHTML | eSeGeCe

LogViewer

TsgcHTMLComponent_LogViewer — un visor de logs / terminal en streaming con filtro de nivel, búsqueda, autodesplazamiento y temas claro/oscuro, en Delphi, C++ Builder y .NET.

TsgcHTMLComponent_LogViewer

Añade líneas con AddLine, se conservan en un búfer circular limitado, luego lee la propiedad HTML — o transmite nuevas líneas a los clientes conectados con GetLastLineFragmentHTML.

Clase del componente

TsgcHTMLComponent_LogViewer

Genera

Barra de herramientas + cuerpo de log estilo terminal + CSS encapsulado

Lenguajes

Delphi, C++ Builder, .NET

Añade líneas, renderízalo, transmite actualizaciones

Llama a AddLine para cada entrada, lee HTML para el renderizado inicial, y luego envía nuevas líneas a los clientes WebSocket abiertos 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());

Propiedades y métodos clave

Los miembros que usarás con más frecuencia.

Añadir líneas

AddLine(aLevel, aText, aSource) añade una entrada con marca de tiempo; MaxLines (por defecto 500) limita el búfer circular y descarta la línea más antigua. Clear lo vacía.

Niveles

TsgcHTMLLogLevelllTrace, llDebug, llInfo, llWarning, llError, llFatal — cada uno coloreado según el Theme.

Barra de herramientas

ShowSearch, ShowLevelFilter y Title controlan la barra de herramientas; el filtrado y resaltado se ejecutan en el cliente, sin ida y vuelta al servidor.

Autodesplazamiento

AutoScroll sigue la línea más reciente; ShowAutoScrollToggle añade una casilla para que el lector pueda pausar el seguimiento mientras se desplaza hacia atrás.

Actualizaciones en streaming

GetLastLineFragmentHTML / GetLineFragmentHTML(aIndex) renderizan un fragmento fuera de banda para TsgcHTMX_Engine_Server.PushFragment / BroadcastFragment.

Apariencia

Theme (ltDark / ltLight), WrapLines, Height, TimeFormat y EmptyText ajustan el aspecto.

Sigue explorando

Ayuda en líneaReferencia completa de la API y guía de uso para este componente.
Todos los componentes de sgcHTMLExplora la matriz completa de más de 80 componentes.
Descargar prueba gratuitaLa prueba de 30 días incluye los proyectos de demostración 60.HTML.
PreciosLicencias Single, Team y Site con código fuente completo.

¿Listo para empezar?

Descarga la prueba gratuita y añade un visor de logs en vivo a tu aplicación web Delphi, C++ Builder o .NET.