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 — 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.
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.
TsgcHTMLComponent_LogViewer
Barre d'outils + corps de journal façon terminal + CSS dédié
Delphi, C++ Builder, .NET
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());
Les membres que vous utilisez le plus souvent.
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.
TsgcHTMLLogLevel — llTrace, llDebug, llInfo, llWarning, llError, llFatal — chacun coloré selon le Theme.
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.
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.
GetLastLineFragmentHTML / GetLineFragmentHTML(aIndex) rendent un fragment hors-bande pour TsgcHTMX_Engine_Server.PushFragment / BroadcastFragment.
Theme (ltDark / ltLight), WrapLines, Height, TimeFormat et EmptyText ajustent l'apparence.
| Aide en ligneRéférence API complète et guide d’utilisation pour ce composant. | Ouvrir | |
| Tous les composants sgcHTMLParcourez la matrice complète des fonctionnalités de plus de 80 composants. | Ouvrir | |
| Télécharger la version d'essai gratuiteLa version d'essai de 30 jours fournit les projets de démonstration 60.HTML. | Ouvrir | |
| TarifsLicences Single, Team et Site avec code source complet. | Ouvrir |