4D v16.3

Anhang E: Beschreibung der Protokolldateien

Home

 
4D v16.3
Anhang E: Beschreibung der Protokolldateien

Anhang E: Beschreibung der Protokolldateien  


 

 

4D Applikationen können verschiedene Protokolldateien/Logbücher erstellen, die hilfreich sind, um das Ausführen von Operationen zu optimieren oder Fehler zu beheben. Protokolle werden in der Regel über Selektoren der Befehle SET DATABASE PARAMETER oder WEB SET OPTION gestartet und gestoppt und im Ordner Logs der Anwendung gespeichert (siehe Abschnitt Beschreibung der 4D Dateien).

Die protokollierten Daten müssen analysiert werden, um Probleme zu finden und zu beheben. Dieser Anhang beschreibt ausführlich den Inhalt folgender Logbücher:

  • 4DRequestsLog.txt
  • 4DRequestsLog_ProcessInfo.txt
  • HTTPDebugLog.txt
  • 4DDebugLog.txt

Die Dateien nutzen einige Felder gemeinsam, so dass Sie eine Chronologie erstellen und beim Debuggen Einträge miteinander verbinden können:

  • sequence_number: Diese Nummer ist einmalig in allen Debug Logs und wird für jeden neuen Eintrag unabhängig vom Logbuch erhöht, so dass Sie die exakte Sequenz der Operationen erkennen können.
  • connection_uuid: Für jeden 4D Prozess, der auf einem 4D Client erstellt wurde, welcher an einen Server angemeldet ist. Diese UUID der Verbindung wird auf Server- und Client-Seite geführt, so dass Sie leicht den remote Client identifizieren können, welcher den Prozess gestartet hat.

Dieses Logbuch protokolliert Standardanfragen jeweils auf dem Rechner mit 4D Server oder 4D Remote, der den Befehl ausgeführt hat (außer Web Anfragen).

Logbuch starten:

  • auf dem Server:
     SET DATABASE PARAMETER(4D Server log recording;1) //Server Seite
  • auf einem Client:
     SET DATABASE PARAMETER(Client Log Recording;1) //Remote Seite

Hinweis: Diese Anweisung startet auch das Logbuch 4DRequestsLog_ProcessInfo.txt (siehe nächster Abschnitt).

Kopfteile
Diese Datei startet mit folgenden Kopfteilen:

  • Identifier der protokollierten Sitzung
  • Hostname des Server, der die Applikation hostet
  • User Login Name: Login auf dem Betriebssystem des Benutzers, der die 4D Applikation auf dem Server gestartet hat.

Inhalt
Für jede Anfrage werden folgende Felder protokolliert:

FeldnameBeschreibung
sequence_numberEinmalige und sequentielle Nummer der Operation in der protokollierten Sitzung
timeDatum und Zeit im Format 'MM/DD/YY, HH:MM:SS'
task_idInterne Task ID
componentSignatur der Komponente (z.B., '4SQLS' oder 'dbmg')
process_info_indexEntspricht dem "index" Feld im Logbuch 4DRequestsLog_ProcessInfo.txt und ermöglicht, eine Anfrage an einen Prozess zu binden.
requestAnfrage ID in C/S oder Meldungsstring für SQL Anfragen oder LOG EVENT Meldungen
bytes_inAnzahl der empfangenen Bytes
bytes_out]Anzahl der gesendeten Bytes
durationBeanspruchte Zeit in Millisekunden zum Durchführen einer Aktion
task_kindPräemptiv oder kooperativ (jeweils 'p' oder 'c')
connection_uuidUUID Identifier von 4D Client, SQL oder HTTP Verbindung (zusammen mit derselben Nummer in 4DRequestsLog_ProcessInfo.txt)

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:

  • auf dem Server:
     SET DATABASE PARAMETER(4D Server log recording;1) //Server Seite
  • auf einem Client:
     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:

  • Identifier der protokollierten Sitzung
  • Hostname des Server, der die Applikation hostet
  • User Login Name: Login auf dem Betriebssystem des Benutzers, der die 4D Applikation auf dem Server gestartet hat.

Inhalt
Für jeden Prozess werden folgende Felder protokolliert:

FeldnameBeschreibung
sequence_numberEinmalige und sequentielle Nummer der Operation in der protokollierten Sitzung
timeDatum und Zeit im Format 'MM/DD/YY, HH:MM:SS'
CDB4DBaseContextKontext UUID der DB4D Komponente der Datenbank
VtaskIDInterne Task ID
server_process_idProzess ID auf dem Server
remote_process_idProzess ID auf dem Client
process_nameProzessname
cIDIdentifier der 4D Verbindung
uIDIdentifier von 4D Client
IPIPv4 Adresse des Client
host_nameHostname des Client
user_nameName des Benutzer Login auf dem Client
connection_uuidUUID Identifier der Prozessverbindung (zusammen mit derselben Nummer in 4DRequestsLog.txt)

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:

FeldnameBeschreibung
SocketIDID des Socket, der zur Kommunikation verwendet wird
PeerIPIPv4 Adresse des Host (Client)
PeerPortVom Host verwendeter Port (Client)
TimeStampZeitstempel in Millisekunden (seit Systemstart)
ConnectionIDUUID der Verbindung (UUID des VTCPSocket, der zur Kommunikation verwendet wird)
SequenceNumberEinmalige 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

Für jedes Ereignis werden folgende Felder protokolliert:  

Spalte #Beschreibung
1Einmalige und sequentielle Nummer der Operation in der protokollierten Sitzung
2Vergangene Zeit in Millisekunden seit Protokollstart
3Prozess ID (p=xx) und einmalige Prozess ID (puid=xx)
4Stapelebene
5Kann Befehlsname/ Methodenname/Meldung/ Task Start Stop Info/Plug-In Name, Ereignis oder Callback/Connection UUID sein
6Fü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

Folgende Felder werden für jedes Ereignis protokolliert:  

Spalte #Beschreibung
1Einmalige und sequentielle Nummer der Operation in der protokollierten Sitzung
2Vergangene 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")
3Prozess ID
4Einmalige Prozess ID
5Stapelebene
6Kann folgendes anzeigen (je nach Art der protokollierten Eingabe in der 8. Spalte):
  • ID eines Befehls der Programmiersprache (wenn Typ=1)
  • Ein Methodenname (wenn Typ=2)
  • Eine Kombination von PluginIndex;PluginBefehl (wenn Typ=4, 5, 6 oder 7). Kann etwas enthalten wie '3;2'
  • Eine Task Connection UUID (wenn Typ=8)
  • oder eine 'startende Sequenznummer' beim Schließen einer Stapelebene (dies sollte der Sequenznummer der gestarteten aktuellen Aktion entsprechen)
  • 121  15:16:50:777  5  8  0  Methodenaufruf  2  0
    122  15:16:50:777  5  8  1  283  1  0
    123  15:16:50:777  5  8  1  122  -1  0  3
    124  15:16:50:777  5  8  0  121  -2  0  61
    Hier ist in der Zeile (124) der Wert '121' der 6. Spalte gleich der Sequenznummer der ersten Zeile (Stapelebene 0). In der Zeile (123) ist der Wert '122' der 6. Spalte gleich der Sequenznummer der oberen Zeile (Stapelebene 1) etc.
    7Parameter, die Befehlen, Methoden oder Plug-ins übergeben wurden
    8Art der protokollierten Operation. Dieser Wert kann absolut sein:
    1: Befehl
    2: Methode
    3: Meldung (nur von Befehl LOG EVENT gesendet)
    4: PluginMeldung
    5: PluginEreignis
    6: PluginBefehl
    7: PluginCallback
    8: Task
    Ein negativer Wert bedeutet lediglich, dass es sich um das schließende Gegenstück der Stapelebene handelt (siehe 8. Spalten in den Zeilen 123 und 124 des obigen Protokolls).
    9Formularereignis, wenn vorhanden; ist sonst leer (die Spalte wird benützt, wenn Code in einer Formularmethode oder einem Skript ausgeführt wird)
    10Verbrauchte 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)

     
    EIGENSCHAFTEN 

    Produkt: 4D
    Thema: Anhänge

     
    GESCHICHTE 

    New
    Erstellt: 4D v16

     
    ARTIKELVERWENDUNG

    4D Designmodus ( 4D v16)
    4D Designmodus ( 4D v16.1)
    4D Designmodus ( 4D v16.3)