Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
LOG FILE TO JSON
|
LOG FILE TO JSON ( ZielordnerPfad {; maxGröße {; LogPfad {; FeldAtt}}} ) | ||||||||
Parameter | Typ | Beschreibung | ||||||
ZielordnerPfad | Text |
![]() |
Pfad des Zielordners für Export | |||||
maxGröße | Lange Ganzzahl |
![]() |
Maximale Größe der JSON Datei zum Erstellen (bytes) | |||||
LogPfad | Text |
![]() |
Pfadname des Logbuchs zum Exportieren, ohne Angabe aktuelles Logbuch | |||||
FeldAtt | Lange Ganzzahl |
![]() |
Feldbeschreibung Attribut: 1 = Nummer verwenden (Standard), 2 = Name verwenden | |||||
Der Befehl LOG FILE TO JSON sichert das aktuelle bzw. das angegebene Journal (Logbuch) im JSON Format.
Ist ein Journal (binäre Datei) in JSON gesichert, lässt sich sein Inhalt vom Datenbankadministrator oder einem anderen Nutzer lesen, um z.B. die Operationen in der Datenbank zu analysieren.
In ZielordnerPfad geben Sie den Pfad des Ordners zum Speichern der JSON Datei an. Sie lautet JournalExport.json.
Die maximale Größe (in bytes) für die exportierte Datei JSON ist standardmäßig 10 MB. Ist dieses Limit erreicht, wird die Datei geschlossen und eine weitere Datei geöffnet. Die Größenbegrenzung für eine JSON Datei reduziert die Speicheranforderung zum Analysieren der Dateien. Wollen Sie die maximale Größe verändern, können Sie einen Wert im Parameter maxGröße setzen. Übergeben Sie 0, um auf die Standardgröße zurückzusetzen. Übergeben Sie einen negativen Wert, gibt es keine Größenbegrenzung
Standardmäßig, also ohne den Parameter LogPfad, sichert der Befehl das aktuelle Journal. Wollen Sie ein bestimmtes Journal exportieren, übergeben Sie seinen Pfad im Parameter LogPfad. Das Journal muss die Endung .journal haben. Um ein archiviertes Logbuch (Endung .4bl) zu exportieren, müssen Sie es zuerst über den Befehl RESTORE konvertieren.
Sie können einen leeren String ("") übergeben, um den Standard Öffnen-Dialog anzuzeigen, damit der Benutzer das Logbuch zum Sichern auswählen kann. Der gewählte Logbuch-Pfad wird in der Systemvariable Document zurückgegeben.
Hinweis: Sichert der Befehl das aktuelle Logbuch, ist die Anwendung nicht gesperrt, d.h. es lassen sich neue Operationen ausführen, während die Datei auf die Festplatte geschrieben wird - diese Operationen werden nicht in die gesicherte Datei aufgenommen.
Beim Exportieren des aktuellen Logbuchs können Sie mit dem Parameter FeldAtt definieren, wie die Felder im exportierten Attribut beschrieben werden: als Zahl (Standard) oder als Name. Sie können eine der folgenden Konstanten unter dem Thema Backup und Wiederherstellen übergeben:
Konstante | Typ | Wert | Kommentar |
Field attribute with name | Lange Ganzzahl | 2 | Felder werden über ihren Namen identifiziert. Beispiel: {"Nachname":"Jones"} |
Field attribute with number | Lange Ganzzahl | 1 | Felder werden über ihre Nummer identifiziert (Standard, wenn weggelassen). Beispiel: {"5":"Jones"}. |
Hinweis: Beim Exportieren eines externen Logbuchs werden Felder immer über ihre Nummer identifiziert.
Die gesicherte JSON Datei enthält alle Operationen, die im Journal protokolliert sind, in Form eines Array mit JSON Objekten. Jedes Objekt enthält mehrere Eigenschaften, die die Operation beschreiben. Hier ein Beispiel:
[
{
"operationType":25,
"operationName":"Modify record",
"operationNumber":45,
"contextID":37,
"timeStamp":"2015-06-11T09:13:17.138Z",
"dataLen":42,
"recordNumber":4,
"tableID":"5AFA15123F991C43B6ACF8B46A914BD0",
"tableName":"elem",
"fields": {
"1": "primkey5",
"2": -5,
"5": "data 25"
},
"primaryKey": "8"
},
{
"operationType":23,
"operationName":"Save seqnum",
"operationNumber":46,
"contextID":37,
"timeStamp":"2015-06-11T09:13:17.138Z",
"sequenceNumber":23,
"tableID":"5AFA15123F991C43B6ACF8B46A914BD0",
"tableName":"elem"
},
{
"operationType":24,
"operationName":"Create record",
"operationNumber":47,
"contextID":37,
"timeStamp":"2015-06-11T09:13:17.138Z",
"dataLen":570,
"recordNumber":7,
"tableID":"5AFA15123F991C43B6ACF8B46A914BD0",
"tableName":"elem",
"fields": {
"1": 9,
"2": "test value",
"3": "2003-03-03T00:00:00.000Z",
"4": "BlobPath: Table 1/Field 4/Data_9ACB28F1A2744FDFA5822B22F18B2E12.png",
"8": "BlobID: 2"
},
"extraData": {
"task_id": 1,
"user_name": "Vanessa Smith",
"user4d_alias": "Default 4D User",
"user4d_id": 1,
"host_name": "iMac-VSmith-0833",
"task_name": "Application process",
"client_version": -1610541776
},
"primaryKey": "9"
}
]
Hinweis: Übergeben Sie Field attribute with name im Parameter FeldAtt, erscheinen die Objekte "fields" wie folgt:
...
"fields": {
"ID": 9,
"Field_2": "test value",
"Date_Field": "2003-03-03T00:00:00.000Z",
"Field_4": "BlobPath: Table 1/Field 4/Data_9ACB28F1A2744FDFA5822B22F18B2E12.png",
"Field_8": "BlobID: 2"
},...
Die aktuelle Liste der verfügbaren Eigenschaften richtet sich nach der Art der Operation (z.B. Datensatz erstellen, Datensatz löschen, Datensatz ändern, Blob erstellen). Hier die Haupteigenschaften:
(*) In Anwendungen im Projektmodus wird die Eigenschaft "user4d_id" nicht zurückgegeben.
Das aktuelle Journal in JSON sichern:
LOG FILE TO JSON("c:\\4Dv15\\ExportLogs")
Ein bestimmtes Journal mit Feldnamen in JSON sichern:
LOG FILE TO JSON("c:\\4Dv15\\ExportLogs";0;"c:\\4Dv15\\Backup\\old_myDB.journal";Field attribute with name)
Der Befehl LOG FILE TO JSON ändert den Wert der Variablen OK und Document: Wurde die JSON Datei korrekt gesichert, wird OK auf 1 gesetzt und Document enthält den Pfadnamen des Jounrals. Haben Sie "" in LogPfad übergeben und annulliert der Benutzer das Dialogfenster zum Auswählen der Datei, wird OK auf 0 gesetzt und Document enthält einen leeren String. Wählt der Benutzer eine ungültige Datei aus, wird OK auf 0 gesetzt und Document enthält den Pfadnamen der ungültigen Datei.
Produkt: 4D
Thema: Backup
Nummer:
1352
Erstellt: 4D v15 R4
4D Programmiersprache ( 4D v20 R7)