AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Spring4D Logging

Ein Thema von wasbo · begonnen am 25. Jan 2022 · letzter Beitrag vom 16. Feb 2023
 
mytbo

Registriert seit: 8. Jan 2007
480 Beiträge
 
#13

AW: Spring4D Logging

  Alt 16. Feb 2023, 22:44
Aber klar ich kann das auch manuell machen im Programm wenn $DEBUG defined ist.
Vielleicht habe ich es nicht verständlich erklärt: Du kannst dein eigenes Remote-Logging schreiben, oder das Programm Synopse LogView aus dem mORMot1 SQLite3\Samples\11 - Exception logging nehmen. Der Quelltext ist noch nicht nach mORMot2 portiert. Du musst mORMot1 installieren und es erstellen. Mit dem Button Server Launch startest du den Server, der auf den konfigurierbaren Port lauscht. Am einfachsten schreibst du dir eine Unit wie folgt:
Delphi-Quellcode:
unit u_RemoteLogging;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.UITypes, System.Classes,
  mormot.core.base,
  mormot.core.text,
  mormot.core.rtti,
  mormot.core.log;

type
  TRemoteLogging = class(TComponent)
  strict private
    FLogClass: TSynLogClass;
  protected
    const
      DEFAULT_PORT = 8091;
  public
    destructor Destroy; override;
    procedure Start(pmLogClass: TSynLogClass; const pmcUri: RawUtf8 = '127.0.0.1/LogService');
  end;

implementation

uses
  mormot.net.sock,
  mormot.rest.http.client;

//==============================================================================
// TRemoteLogging
//==============================================================================

destructor TRemoteLogging.Destroy;
begin
  if FLogClass <> Nil then
    FLogClass.Family.EchoRemoteStop;

  inherited Destroy;
end;

procedure TRemoteLogging.Start(pmLogClass: TSynLogClass; const pmcUri: RawUtf8);
var
  uri: TUri;
begin
  if pmLogClass <> Nil then
  try
    FLogClass := pmLogClass;
    uri.From(pmcUri, Int32ToUtf8(DEFAULT_PORT));
    TRestHttpsClient.CreateForRemoteLogging(uri.Server, pmLogClass, Utf8ToInteger(uri.Port), uri.Root);
  except
    on E: Exception do
      pmLogClass.Add.Log(sllError, E);
  end;
end;

end.
Durch diesen Aufruf TRemoteLogging.Create(Self).Start(TSynLog); bindest du sie ins Programm ein und kannst danach den Einträgen im LogView folgen.

PS: Für dein Programm verwendest du mORMot2. Nur zur Erstellung des Programms Synopse LogView benötigst du zur Zeit noch mORMot1.

Bis bald...
Thomas
Angehängte Grafiken
Dateityp: png LogView.png (39,1 KB, 32x aufgerufen)

Geändert von mytbo (16. Feb 2023 um 22:58 Uhr) Grund: Nachtrag hinzugefügt
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz