LogViewer Component — sgcHTML | eSeGeCe

LogViewer

TsgcHTMLComponent_LogViewer — ein Streaming-Log-/Terminal-Viewer mit Stufenfilter, Suche, automatischem Scrollen und Dunkel-/Hell-Themes, in Delphi, C++ Builder und .NET.

TsgcHTMLComponent_LogViewer

Fügen Sie Zeilen mit AddLine hinzu, die in einem begrenzten Ringpuffer gehalten werden, und lesen Sie dann die HTML-Eigenschaft — oder streamen Sie neue Zeilen an verbundene Clients mit GetLastLineFragmentHTML.

Komponentenklasse

TsgcHTMLComponent_LogViewer

Rendert

Toolbar + Log-Body im Terminal-Stil + scoped CSS

Sprachen

Delphi, C++ Builder, .NET

Zeilen hinzufügen, rendern, Updates streamen

Rufen Sie AddLine für jeden Eintrag auf, lesen Sie HTML für das erste Rendering und übertragen Sie dann neue Zeilen an offene WebSocket-Clients mit 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());

Wichtige Eigenschaften & Methoden

Die Member, die Sie am häufigsten verwenden.

Zeilen hinzufügen

AddLine(aLevel, aText, aSource) fügt einen zeitgestempelten Eintrag hinzu; MaxLines (Standard 500) begrenzt den Ringpuffer und verwirft die älteste Zeile. Clear leert ihn.

Stufen

TsgcHTMLLogLevelllTrace, llDebug, llInfo, llWarning, llError, llFatal — jede farblich passend zum Theme.

Toolbar

ShowSearch, ShowLevelFilter und Title steuern die Toolbar; Filterung und Hervorhebung laufen clientseitig, ohne Round-Trip.

Automatisches Scrollen

AutoScroll folgt der neuesten Zeile; ShowAutoScrollToggle ergänzt ein Kontrollkästchen, damit der Leser beim Zurückscrollen das Verfolgen pausieren kann.

Streaming-Updates

GetLastLineFragmentHTML / GetLineFragmentHTML(aIndex) rendern ein Out-of-Band-Fragment für TsgcHTMX_Engine_Server.PushFragment / BroadcastFragment.

Erscheinungsbild

Theme (ltDark / ltLight), WrapLines, Height, TimeFormat und EmptyText passen das Aussehen an.

Weiter entdecken

Online-HilfeVollständige API-Referenz und Verwendungshandbuch für diese Komponente.
Alle sgcHTML-KomponentenDurchsuchen Sie die vollständige Funktionsmatrix von über 80 Komponenten.
Kostenlose Testversion herunterladenDie 30-Tage-Testversion enthält die 60.HTML-Demoprojekte.
PreiseSingle-, Team- und Site-Lizenzen mit vollständigem Quellcode.

Bereit loszulegen?

Laden Sie die kostenlose Testversion herunter und fügen Sie Ihrer Delphi-, C++-Builder- oder .NET-Webanwendung einen Live-Log-Viewer hinzu.