Composant LogViewer — sgcHTML | eSeGeCe

LogViewer

TsgcHTMLComponent_LogViewer — une visionneuse de journaux / terminal en streaming avec filtre de niveau, recherche, défilement automatique et thèmes sombre/clair, en Delphi, C++ Builder et .NET.

TsgcHTMLComponent_LogViewer

Poussez des lignes avec AddLine, elles sont conservées dans un tampon circulaire plafonné, puis lisez la propriété HTML — ou diffusez les nouvelles lignes aux clients connectés avec GetLastLineFragmentHTML.

Classe du composant

TsgcHTMLComponent_LogViewer

Produit

Barre d'outils + corps de journal façon terminal + CSS dédié

Langages

Delphi, C++ Builder, .NET

Ajoutez des lignes, affichez-le, diffusez les mises à jour

Appelez AddLine pour chaque entrée, lisez HTML pour le rendu initial, puis poussez les nouvelles lignes aux clients WebSocket ouverts avec 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());

Propriétés & méthodes clés

Les membres que vous utilisez le plus souvent.

Ajout de lignes

AddLine(aLevel, aText, aSource) ajoute une entrée horodatée ; MaxLines (500 par défaut) plafonne le tampon circulaire et supprime la ligne la plus ancienne. Clear le vide.

Niveaux

TsgcHTMLLogLevelllTrace, llDebug, llInfo, llWarning, llError, llFatal — chacun coloré selon le Theme.

Barre d'outils

ShowSearch, ShowLevelFilter et Title contrôlent la barre d'outils ; le filtrage et la mise en surbrillance s'exécutent côté client, sans aller-retour serveur.

Défilement automatique

AutoScroll suit la ligne la plus récente ; ShowAutoScrollToggle ajoute une case à cocher pour que le lecteur puisse suspendre le suivi en remontant dans l'historique.

Mises à jour en streaming

GetLastLineFragmentHTML / GetLineFragmentHTML(aIndex) rendent un fragment hors-bande pour TsgcHTMX_Engine_Server.PushFragment / BroadcastFragment.

Apparence

Theme (ltDark / ltLight), WrapLines, Height, TimeFormat et EmptyText ajustent l'apparence.

Continuez l'exploration

Aide en ligneRéférence API complète et guide d’utilisation pour ce composant.
Tous les composants sgcHTMLParcourez la matrice complète des fonctionnalités de plus de 80 composants.
Télécharger la version d'essai gratuiteLa version d'essai de 30 jours fournit les projets de démonstration 60.HTML.
TarifsLicences Single, Team et Site avec code source complet.

Prêt à démarrer ?

Téléchargez la version d'essai gratuite et ajoutez une visionneuse de journaux en direct à votre application web Delphi, C++ Builder ou .NET.