LogViewer
TsgcHTMLComponent_LogViewer — um visualizador de log / terminal em streaming com filtro por nível, busca, rolagem automática e temas claro/escuro, em Delphi, C++ Builder e .NET.
TsgcHTMLComponent_LogViewer — um visualizador de log / terminal em streaming com filtro por nível, busca, rolagem automática e temas claro/escuro, em Delphi, C++ Builder e .NET.
Envie linhas com AddLine, elas são mantidas em um buffer circular limitado, então leia a propriedade HTML — ou transmita novas linhas para os clientes conectados com GetLastLineFragmentHTML.
TsgcHTMLComponent_LogViewer
Barra de ferramentas + corpo de log estilo terminal + CSS com escopo
Delphi, C++ Builder, .NET
Chame AddLine para cada entrada, leia HTML para a renderização inicial e então envie novas linhas para os clientes WebSocket abertos com 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());
Os membros que você usa com mais frequência.
AddLine(aLevel, aText, aSource) adiciona uma entrada com timestamp; MaxLines (padrão 500) limita o buffer circular e descarta a linha mais antiga. Clear o esvazia.
TsgcHTMLLogLevel — llTrace, llDebug, llInfo, llWarning, llError, llFatal — cada um com uma cor própria de acordo com o Theme.
ShowSearch, ShowLevelFilter e Title controlam a barra de ferramentas; a filtragem e o destaque rodam no cliente, sem round-trip ao servidor.
AutoScroll acompanha a linha mais recente; ShowAutoScrollToggle adiciona um checkbox para que o leitor possa pausar o acompanhamento ao rolar para trás.
GetLastLineFragmentHTML / GetLineFragmentHTML(aIndex) renderizam um fragmento out-of-band para TsgcHTMX_Engine_Server.PushFragment / BroadcastFragment.
Theme (ltDark / ltLight), WrapLines, Height, TimeFormat e EmptyText ajustam a aparência.
| Ajuda onlineReferência completa da API e guia de uso para este componente. | Abrir | |
| Todos os Componentes sgcHTMLExplore a matriz completa de recursos com mais de 80 componentes. | Abrir | |
| Baixar Versão de Avaliação GratuitaA avaliação de 30 dias inclui os projetos de demonstração 60.HTML. | Abrir | |
| PreçosLicenças Single, Team e Site com código-fonte completo. | Abrir |