4D v18Beschreibung der Logbücher |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v18
Beschreibung der Logbücher
|
Feldname | Beschreibung |
sequence_number | Einmalige und fortlaufende Nummer der Operation in der protokollierten Sitzung |
time | Datum und Zeit im ISO Format 8601: 'YYYY-MM-DDTHH:MM:SS.sss' |
systemid | System ID |
component | Signatur der Komponente (z.B., '4SQLS' oder 'dbmg') |
process_info_index | Entspricht dem "index" Feld im Logbuch 4DRequestsLog_ProcessInfo.txt und ermöglicht, eine Anfrage an einen Prozess zu binden. |
request | Anfrage ID in C/S oder Meldungsstring für SQL Anfragen oder LOG EVENT Meldungen |
bytes_in | Anzahl der empfangenen Bytes |
bytes_out | ]Anzahl der gesendeten Bytes |
server_duration | exec_duration | Hängt davon ab, wo das Log generiert wird:
|
write_duration | Beanspruchte Zeit in Millisekunden zum Senden:
|
task_kind | Preemptive oder kooperativ (jeweils 'p' oder 'c') |
rtt | Beanspruchte Zeit in Millisekunden für den Client zum Senden der Anfrage und zum Erkennen für den Server, im Bild unten von A nach D und von E nach H.
|
Ablauf der Anfrage:
Dieses Logbuch protokolliert Angaben zu jedem Prozess, ausgeführt auf dem 4D Server Rechner oder dem 4D Remote Rechner, welcher den Befehl ausgeführt hat (außer Web Anfragen).
Logbuch starten:
SET DATABASE PARAMETER(4D Server log recording;1) //Server Seite
SET DATABASE PARAMETER(Client Log Recording;1) //Remote Seite
Hinweis: Diese Anweisung startet auch das Logbuch 4DRequestsLog.txt (siehe voriger Absatz).
Kopfteile
Diese Datei startet mit folgenden Kopfteilen:
Inhalt
Für jeden Prozess werden folgende Felder protokolliert:
Feldname | Beschreibung |
sequence_number | Einmalige und fortlaufende Nummer der Operation in der protokollierten Sitzung |
time | Datum und Zeit im ISO Format 8601: 'YYYY-MM-DDTHH:MM:SS.sss' |
process_info_index | Einmalige und sequentielle Prozessnummer |
CDB4DBaseContext | Kontext UUID der DB4D Komponente der Datenbank |
systemid | System ID |
server_process_id | Prozess ID auf dem Server |
remote_process_id | Prozess ID auf dem Client |
process_name | Prozessname |
cID | Identifier der 4D Verbindung |
uID | Identifier von 4D Client |
IP | IPv4/IPv6 Adresse des Client |
host_name | Hostname des Client |
user_name | Name des Benutzer Login auf dem Client |
connection_uuid | UUID Identifier der Prozessverbindung |
server_process_unique_id | Einmalige Prozess ID auf dem Server |
Dieses Logbuch protokolliert jede HTTP Anfrage und jede Antwort in unformatierter Form. Protokolliert werden die Anfragen, inkl. Kopfteile; optional lassen sich auch Hauptteile protokollieren.
Logbuch starten:
WEB SET OPTION(Web debug log;wdl enable without body) //andere Werte sind verfügbar
Folgende Felder werden für Anfrage und Antwort protokolliert:
Feldname | Beschreibung |
SocketID | ID des Socket, der zur Kommunikation verwendet wird |
PeerIP | IPv4 Adresse des Host (Client) |
PeerPort | Vom Host verwendeter Port (Client) |
TimeStamp | Zeitstempel in Millisekunden (seit Systemstart) |
ConnectionID | UUID der Verbindung (UUID des VTCPSocket, der zur Kommunikation verwendet wird) |
SequenceNumber | Einmalige und sequentielle Nummer der Operation in der protokollierten Sitzung |
Dieses Logbuch protokolliert jedes Ereignis, das auf 4D Programmierebene auftritt. Der Standardmodus zeigt eine einfache Ansicht der Ereignisse.
Logbuch starten:
SET DATABASE PARAMETER(Debug Log Recording;2) //Standard, alle Prozesse
SET DATABASE PARAMETER(Current process debug log recording;2) //Standard, nur aktueller Prozess
Für jedes Ereignis werden folgende Felder protokolliert:
Spalte # | Beschreibung |
1 | Einmalige und fortlaufende Nummer der Operation in der protokollierten Sitzung |
2 | Vergangene Zeit in Millisekunden seit Protokollstart |
3 | Prozess ID (p=xx) und einmalige Prozess ID (puid=xx) |
4 | Stapelebene |
5 | Kann Befehlsname/ Methodenname/Meldung/ Task Start Stop Info/Plug-In Name, Ereignis oder Callback/Connection UUID sein |
6 | Für die protokollierte Operation beanspruchte Zeit in Millisekunden (unterscheidet sich von der 2. Spalte) |
Dieses Logbuch protokolliert jedes Ereignis, das auf der 4D Programmierebene auftritt in einem kompakten Format mit Tabulatoren, das zusätzliche Angaben enthält (verglichen mit dem Standardformat).
Logbuch starten:
SET DATABASE PARAMETER(Debug Log Recording;2+4) //erweitertes Format mit Tabulatoren, alle Prozesse
SET DATABASE PARAMETER(Current process debug log recording;2+4) //erweitert, nur akueller Prozess
Folgende Felder werden für jedes Ereignis protokolliert:
Spalte # | Beschreibung | |||||||||
1 | Einmalige und fortlaufende Nummer der Operation in der protokollierten Sitzung | |||||||||
2 | Vergangene Zeit seit Protokollstart im Format "hh:mm:ss:ms" (bei Bedarf wird ein Zähler für Tage vorangestellt. Wurde das Protokoll z.B. vor 3 Tagen gestartet, könnte das so aussehen "3+11:58:23:163") | |||||||||
3 | Prozess ID | |||||||||
4 | Einmalige Prozess ID | |||||||||
5 | Stapelebene | |||||||||
6 | Kann folgendes anzeigen (je nach Art der protokollierten Eingabe in der 8. Spalte):
| |||||||||
7 | Parameter, die Befehlen, Methoden oder Plug-ins übergeben wurden | |||||||||
8 | Art der protokollierten Operation. Dieser Wert kann absolut sein:
| |||||||||
9 | Formularereignis, wenn vorhanden; ist sonst leer (die Spalte wird benützt, wenn Code in einer Formularmethode oder einem Skript ausgeführt wird) | |||||||||
10 | Verbrauchte Zeit in Mikrosekunden für die aktuell protokollierte Aktion; nur für schließende Stapelebenen (siehe 10. Spalten in Zeilen 123 und 124 im Protokoll oben) |
Dieses Logbuch speichert jeden Austausch zwischen der 4D Applikation und dem SMTP Server. Es lässt sich in zwei Ausführungen erstellen:
SET DATABASE PARAMETER(SMTP Log;1) //smtp Log starten
$server:=New object
...$server.logFile:="MySMTPAuthLog.txt"
$transporter:=SMTP New transporter($server)
Inhalt
Für jede Anfrage werden folgende Felder protokolliert:
Spalte # | Beschreibung |
1 | Einmalige und fortlaufende Nummer der Operation in der protokollierten Sitzung |
2 | Datum und Zeit im Format RFC3339 (yyyy-mm-ddThh:mm:sss) |
3 | Prozess ID |
4 | Einmalige Prozess ID |
5 |
|
* Warnung: MIME Inhalt (Anhänge) kann eine große Menge an Daten sein. Stellen Sie sicher, dass es genügend Platz auf der Festplatte gibt, um diese Daten zu sichern
Dieses Logbuch speichert jede ORDA Anfrage, die von einem remote Rechner gesendet wird. Sie können es im Hauptspeicher halten oder in eine Datei auf der Festplatte schreiben. Name und Speicherort dieses Logbuchs können Sie selbst bestimmen.
Dieses Logbuch starten Sie folgendermaßen:
//für die Ausführung auf einem remote Rechner
ds.startRequestLog(File("/LOGS/ordaLog.txt")) //lässt sich auch im Hauptspeicher halten
Hinweis: Das Mitschreiben der einmaligen Sequenznummer im Logbuch der ORDA Anfragen müssen Sie aktivieren:
//für die Ausführung auf einem remote Rechner
SET DATABASE PARAMETER(Client Log Recording;1) //Sequenznummer des Logbuchs aktivieren
ds.startRequestLog(File("/LOGS/ordaLog.txt")) //lässt sich auch im Hauptspeicher halten
SET DATABASE PARAMETER(Client Log Recording;0) //Sequenznummer deaktivieren
Für jede Anfrage werden folgende Felder protokolliert:
Feldname | Beschreibung | Beispiel |
sequenceNumber | Einmalige und fortlaufende Nummer der Operation in der protokollierten Sitzung | 104 |
url | Client ORDA URL der Anfrage | "rest/Persons(30001)" |
startTime | Startdatum und Zeit im ISO Format 8601 | "2019-05-28T08:25:12.346Z" |
endTime | Enddatum und Zeit im ISO Format 8601 | "2019-05-28T08:25:12.371Z" |
duration | Dauer der Client Bearbeitung (ms) | 25 |
response | Objekt Server Antwort | {"status":200,"body":{"__entityModel":"Persons",[...] |
Produkt: 4D
Thema: Debug-Logbücher
Geändert: 4D v17 R5
Geändert: 4D v17 R6
4D Designmodus ( 4D v18)