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