4D v16.3

LOG FILE TO JSON

Inicio

 
4D v16.3
LOG FILE TO JSON

LOG FILE TO JSON 


 

LOG FILE TO JSON ( rutaCarpetaDest {; tamMax {; rutaHist {; atribCampo}}} )  
Parámetro Tipo   Descripción
rutaCarpetaDest  Texto in Ruta de acceso de la carpeta de destino del archivo guardado
tamMax  Entero largo in Tamaño máximo del archivo JSON a crear (bytes)
rutaHist  Texto in Ruta de acceso del archivo de historial a exportar; utilizar el historial actual si se omite
atribCampo  Entero largo in Atributo de descripción del campo: 1 = utilizar número(por defecto), 2 = utilizar nombre

El comando LOG FILE TO JSON guarda en formato JSON el archivo de historial actual o todo archivo de historial especificado.

Una vez un historial (archivo binario) se guarda en JSON, su contenido puede ser leído e interpretado por el administrador de la base o por cualquier usuario con el fin de analizar los eventos de la base, por ejemplo.

En rutaCarpetaDest, pase la ruta de la carpeta en la que desea almacenar el archivo JSON. Este archivo se llama JournalExport.json.

De forma predeterminada, el tamaño máximo del archivo JSON exportada es de 10 MB. Cuando se alcanza este tamaño, el archivo se cierra y se crea un nuevo archivo. Limitar el tamaño de cada archivo JSON reduce los requerimientoos de memoria para el análisis de los archivos. Puede cambiar el tamaño máximo para el archivo exportado definiendo un valor (en bytes) en el parámetro tamMax. Pasar 0 restaura el tamaño predeterminado. Pasar un valor negativo elimina todo límite de tamaño. 

Por defecto, si se omite el parámetro rutaHist, el comando guarda el archivo de historial actual. Si desea exportar un archivo de historial específico, pase su ruta en el parámetro rutaHist. El archivo de historial debe ser un archivo con una extensión ".journal". Si desea exportar un archivo de historial archivado (extensión ".4bl"), es necesario convertirlo de antemano con el comando RESTORE. Puede pasar una cadena vacía ("") para mostrar el diálogo estándar de abrir archivo, lo que permite al usuario seleccionar el archivo de historial a guardar. La ruta del archivo de historial seleccionado se devuelve en la variable sistema Document.

Nota: cuando el comando guarda el archivo de historial actual, la base no está bloqueada. Las nuevas operaciones se pueden ejecutar mientras el archivo se escribe en el disco, estas operaciones no se incluirán en el archivo guardado.

Cuando exporta el archivo de historial actual, el parámetro atribCampo le permite definir cómo se describen en el atributo exportado: por número (por defecto), o por nombre. Puede pasar una de las siguientes constantes, que se encuentra en el tema "Backup":

Constante Tipo Valor Comentario
Field attribute with name Entero largo 2 Los campos son identificados por su nombre. Ejemplo: {"Apellido":"Gómez"}
Field attribute with number Entero largo 1 Los campos se identifican por su número (por defecto si se omite). Ejemplo: { "5":"Jones"}.

Nota: cuando exporta un archivo de historial externo, los campos siempre se identifican por su número.

El archivo JSON guardado contiene todas las operaciones registradas en el historial, en forma de un array de objetos JSON. Cada objeto contiene varias propiedades que describen la operación. Ejemplo:

[
   {
      "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_id": 1,
          "host_name": "iMac-VSmith-0833",
          "task_name": "Application process",
          "client_version": -1610541776
      },
      "primaryKey": "9"
   }
]

Nota: si pasó Field attribute with name en el parámetro atribCampo, el objeto "fields" contendrá:

...
      "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"
      },...

 

La lista actual de propiedades disponibles depende del tipo de operación (por ejemplo: crear registros, eliminar registros, modificar registros, crear Blob etc.). Estas son las principales propiedades:

  • tipoOperacion: código interno para la operación
  • nomOperacion: tipo de operación, por ejemplo, "crear registro", "modificar registro"
  • numOperacion: número interno de la operación en el archivo de registro
  • contextID: ID del contexto de ejecución
  • timeStamp: timestamp de la operación en el archivo de registro
  • dataLong: tamaño de los datos
  • numRegistro: número de registro interno
  • IDtabla: ID interno de la tabla
  • nomTabla: nombre de la tabla
  • campos: de valores de campo
  • numSecuencia: número de secuencia dentro de la secuencia de auto incrementar.

Ejemplo  

Usted quiere guardar el archivo de historial actual en JSON:

 LOG FILE TO JSON("c:\\4Dv15\\ExportLogs")

Usted quiere guardar un archivo de historial archivado en JSON:

 LOG FILE TO JSON("c:\\4Dv15\\ExportLogs";0;"c:\\4Dv15\\Backup\\old_myDB.journal")

El comando LOG FILE TO JSON modifica el valor de las variables sistema OK y Document: si el archivo JSON se guarda correctamente, OK toma el valor 1 y Document contiene la ruta del archivo de historial. Si ha pasa "" en el parámetro rutaLog y el usuario cancela el cuadro de diálogo de selección de archivos, OK toma el valor 0 y el Document contiene una cadena vacía. Si el usuario selecciona un archivo no válido, OK toma el valor 0 y Document contiene la ruta del archivo invalido.



Ver también 


INTEGRATE MIRROR LOG FILE

 
PROPIEDADES 

Producto: 4D
Tema: Backup
Número 1352

Este comando modifica la variable sistema OKEste comando modifica la variable sistema DocumentThis command can be run in preemptive processes

 
HISTORIA 

Creado por: 4D v15 R4

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)