Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19
Beschreibung der Logbücher
|
Feldname | Beschreibung |
sequence_number | Eindeutige und fortlaufende Vorgangsnummer in der Protokollierungssitzung |
time | Datum und Uhrzeit im Format ISO 8601: 'YYYY-MM-DDTHH:MM:SS.mmm' |
systemid | System ID |
component | Komponentensignatur (z. B. '4SQLS' oder 'dbmg') |
process_info_index | Entspricht dem Feld "index" im Protokoll 4DRequestsLog_ProcessInfo.txt und ermöglicht die Verknüpfung einer Anfrage mit einem Prozess. |
request | Anforderungs-ID in C/S oder Meldungsstring für SQL-Anforderungen oder LOG EVENT-Meldungen |
bytes_in | Anzahl der empfangenen Bytes |
bytes_out | Anzahl der gesendeten Bytes |
server_duration | exec_duration | Abhängig davon, wo das Protokoll generiert wird:
|
write_duration | Zeit in Mikrosekunden für das Senden der:
|
task_kind | Preemptiv oder kooperativ (jeweils 'p' oder 'c') |
rtt | Geschätzte Zeit in Mikrosekunden, die der Client benötigt, um die Anfrage zu senden und der Server, um sie zu bestätigen. A bis D und E bis H im Bild unten.
|
Ablauf der Anfrage:
Diese Protokolldatei zeichnet Informationen über jeden Prozess auf, der auf dem 4D Server Rechner oder dem remote 4D Rechner, der den Befehl ausgeführt hat, erstellt wurde (mit Ausnahme von Web-Anfragen).
Wie Sie dieses Protokoll starten:
SET DATABASE PARAMETER(4D Server log recording;1) //Serverseite
SET DATABASE PARAMETER(Client Log Recording;1) //entfernte Seite
Hinweis: Diese Anweisung startet auch die Protokolldatei 4DRequestsLog.txt (siehe oben).
Kopfzeilen
Diese Datei beginnt mit den folgenden Kopfzeilen:
Inhalt
Für jeden Prozess werden die folgenden Felder protokolliert:
Feldname | Beschreibung |
sequence_number | Eindeutige und fortlaufende Vorgangsnummer in der Protokollierungssitzung |
time | Datum und Uhrzeit im Format ISO 8601: "YYYY-MM-DDTHH:MM:SS.mmm" |
process_info_index | Eindeutige und fortlaufende Prozessnummer |
CDB4DBaseContext | DB4D-Komponente Datenbankkontext UUID |
systemid | System ID |
server_process_id | Prozess-ID auf dem Server |
remote_process_id | Prozess-ID auf Client |
process_name | Prozessname |
cID | Kennung der 4D Verbindung |
uID | Kennung des 4D Clients |
IP | Client IPv4/IPv6-Adresse |
host_name | Client-Hostname |
user_name | Benutzer-Login-Name auf dem Client |
connection_uuid | UUID-Bezeichner der Prozessverbindung |
server_process_unique_id | Eindeutige Prozess-ID auf dem Server |
Diese Protokolldatei zeichnet jede HTTP-Anfrage und jede Antwort im Raw-Modus auf. Es werden ganze Anfragen einschließlich Header protokolliert; optional können auch Body-Teile protokolliert werden.
So starten Sie dieses Protokoll:
WEB SET OPTION(Web debug log;wdl enable without body) //andere Werte sind verfügbar
Die folgenden Felder werden sowohl für die Anfrage als auch für die Antwort protokolliert:
Feldname | Beschreibung |
SocketID | ID des für die Kommunikation verwendeten Sockets |
PeerIP | IPv4-Adresse des Hosts (Client) |
PeerPort | Vom Host verwendeter Port (Client) |
TimeStamp | Zeitstempel in Millisekunden (seit Systemstart) |
ConnectionID | Verbindungs-UUID (UUID des für die Kommunikation verwendeten VTCPSockets) |
SequenceNumber | Eindeutige und fortlaufende Vorgangsnummer in der Protokollierungssitzung |
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 | Datum und Uhrzeit im Format ISO 8601: "YYYY-MM-DDThh:mm:ss.mmm" |
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) |
Diese Protokolldatei zeichnet jedes Ereignis, das auf der 4D Programmierebene auftritt, in einem tabellarischen, kompakten Format auf, das zusätzliche Informationen enthält (im Vergleich zum Standardformat).
So starten Sie dieses Protokoll:
SET DATABASE PARAMETER(Debug Log Recording;2+4) //erweitertes Registerkartenformat, alle Prozesse
SET DATABASE PARAMETER(Current process debug log recording;2+4) //erweitert, nur aktueller Prozess
Die folgenden Felder werden für jedes Ereignis protokolliert:
Spalte # | Feldname | Beschreibung | |||||||||||||
1 | sequence_number | Eindeutige und fortlaufende Vorgangsnummer in der Protokollierungssitzung. | |||||||||||||
2 | time | Datum und Uhrzeit im Format ISO 8601: "YYYY-MM-DDThh:mm:ss.mmm" | |||||||||||||
3 | processID | Prozess-ID | |||||||||||||
4 | unique_processID | Eindeutige Prozess-ID | |||||||||||||
5 | stack_level | Stack-Ebene | |||||||||||||
6 | operation_type | Art der Log-Operation. Dieser Wert kann ein absoluter Wert sein:
| |||||||||||||
7 | operation | Kann je nach Typ folgendes sein: | |||||||||||||
8 | operation_parameters | Parameter, die an Befehle, Methoden oder Plugins übergeben werden | |||||||||||||
9 | form_event | Formularereignis, falls vorhanden; leer in anderen Fällen (angenommen, diese Spalte wird verwendet, wenn Code in einer Formular- oder Objektmethode ausgeführt wird) | |||||||||||||
10 | stack_opening_sequence_number | Nur für die schließenden Stack-Ebenen: Sequenznummer der entsprechenden öffnenden Stack-Ebene | |||||||||||||
11 | stack_level_execution_time | Nur für die schließenden Stack-Ebenen:Verstrichene Zeit in Mikrosekunden der aktuellen protokollierten Aktion (siehe letzte Spalten in den Zeilen 123 und 124 im obigen Protokoll) |
Diese Protokolldatei zeichnet viele Ereignisse im Zusammenhang mit dem internen Anwendungsbetrieb auf und ist für den Menschen lesbar. Sie können mit dem Befehl LOG EVENT benutzerdefinierte Informationen in diese Datei aufnehmen.
So starten Sie dieses Protokoll:
SET DATABASE PARAMETER(Diagnostic log recording;1) //Aufzeichnung starten
Die folgenden Felder werden für jedes Ereignis protokolliert:
Feldname | Beschreibung |
sequenceNumber | Einmalige und fortlaufende Vorgangsnummer in der Protokollierungssitzung |
timestamp | Datum und Zeit in ISO 8601 Format (YYYY-MM-DDThh:mm:ss.mmm) |
loggerID | Optional |
componentSignature | Optional - interne Komponentensignatur |
messageLevel | Info, Warnung, Fehler |
message | Beschreibung des Protokolleintrags |
Je nach Ereignis können auch verschiedene andere Felder protokolliert werden, wie z. B. Task, Socket, etc.
Diese Protokolldateien zeichnen jeden Austausch zwischen der 4D Anwendung und dem Mailserver (SMTP, POP3, IMAP) auf, der durch die folgenden Befehle ausgelöst wurde:
Die Protokolldateien können in zwei Versionen erstellt werden:
So starten Sie dieses Protokoll:
SET DATABASE PARAMETER(SMTP Log;1) //SMTP-Protokoll starten ODER
SET DATABASE PARAMETER(POP3 Log;1) //POP3-Protokoll starten ODER
SET DATABASE PARAMETER(IMAP Log;1) //IMAP-Protokoll starten
So starten Sie dieses Protokoll:
$server:=New object
...
//SMTP
$server.logFile:="MySMTPAuthLog.txt"
$transporter:=SMTP New transporter($server)
// POP3
$server.logFile:="MyPOP3AuthLog.txt"
$transporter:=POP3 New transporter($server)
//IMAP
$server.logFile:="MyIMAPAuthLog.txt"
$transporter:=IMAP New transporter($server)
Inhalt
Für jede Anfrage werden die folgenden Felder protokolliert:
Spalte # | Beschreibung |
1 | Eindeutige und fortlaufende Vorgangsnummer in der Protokollierungssitzung |
2 | Datum und Uhrzeit im RFC3339-Format (jjjj-mm-ddThh:mm:ss.ms) |
3 | 4D Prozess-ID |
4 | Eindeutige Prozess-ID |
5 |
|
Dieses Protokoll zeichnet jede ORDA-Anfrage auf, die von einem Remote Rechner gesendet wird. Sie können die Protokollinformationen in den Speicher oder in eine Datei auf der Festplatte leiten. Der Name und der Speicherort dieser Protokolldatei sind frei wählbar.
Wie Sie dieses Protokoll starten:
//zur Ausführung auf einem Remote Rechner
ds.startRequestLog(File("/PACKAGE/Logs/ordaLog.txt")) //kann auch an den Speicher gesendet werden
Hinweis: Wenn Sie die eindeutige Sequenznummer im ORDA-Anforderungsprotokoll verwenden möchten, müssen Sie sie auslösen:
//zur Ausführung auf einem Remote Rechner
SET DATABASE PARAMETER(Client Log Recording;1) //zur Aktivierung der Log-Sequenznummer
ds.startRequestLog(File("/PACKAGE/Logs/ordaLog.txt")) //kann auch in den Speicher gesendet werden
SET DATABASE PARAMETER(Client Log Recording;0) //Sequenznummer deaktivieren
Die folgenden Felder werden für jede Anfrage protokolliert:
Feldname | Beschreibung | Beispiel |
sequenceNumber | Eindeutige und fortlaufende Vorgangsnummer in der Protokollierungssitzung | 104 |
url | Client-ORDA-Anfrage-URL | "rest/Persons(30001)" |
startTime | Startdatum und -zeit im ISO 8601-Format | "2019-05-28T08:25:12.346Z" |
endTime | Enddatum und -zeit im ISO 8601-Format | "2019-05-28T08:25:12.371Z" |
duration | Client-Bearbeitungsdauer (ms) | 25 |
response | Server-Antwortobjekt | {"status":200,"body":{"__entityModel":"Persons",[...] |
Produkt: 4D
Thema: Debug-Logbücher
Geändert: 4D v17 R5
Geändert: 4D v17 R6
Geändert: 4D v18 R2
Geändert: 4D v18 R3
Geändert: 4D v19
4D Designmodus ( 4D v19)