Saltar para o conteúdo principal
Versão: 20 R6 BETA

Arquivo de histórico

Aplicações 4D podem gerar vários arquivos de histórico ou log que são úteis para depuração e otimizar sua execução. Logs are usually started or stopped using selectors of the SET DATABASE PARAMETER, WEB SET OPTION, or HTTP SET OPTION commands and are stored in the Logs folder of the project.

Informação gravada precisa ser analisada para detectar e corrigir os problemas. Esta seção oferece uma descrição detalhada dos arquivos de log abaixo:

Nota: quando um arquivo de histórico for gerado seja em 4D Server ou em cliente remoto, a palavra "Server" é adicionada ao nome do arquivo do lado servidor, por exemplo "4DRequestsLogServer.txt"

Arquivos de Histórico compartilham alguns campos para que possa estabelecer uma cronologia e fazer conexões entre entradas quando depurar:

  • sequence_number: este número es único en todos los registros de depuración y se incrementa para cada nueva entrada cualquiera que sea el archivo de historial, para que pueda conocer la secuencia exacta de las operaciones.
  • connection_uuid: para cada proceso 4D creado en un cliente 4D que se conecte a un servidor, este UUID de conexión se registra tanto del lado del servidor como del cliente. Permite que facilmente identifique o cliente remoto que lança cada processo.

4DRequestsLog.txt

Esses arquivos de histórico gravam petições normais realizadas pela máquina 4D Server ou a máquina remota 4D que executaram o comando (excluindo petições Web).

Como iniciar esse log:

  • no servidor:
SET DATABASE PARAMETER(4D Server log recording;1)
//lado servidor
  • em um cliente:
SET DATABASE PARAMETER(Client Log Recording;1)
//lado remoto

Esta instrucción también inicia el archivo de historial 4DRequestsLog_ProcessInfo.txt.

Cabeçalhos

Este arquivo começa com os cabeçalhos abaixo:

  • Identificador de sessão de histórico
  • Hostname do servidor que hospeda a aplicação
  • Nome login Usuário: login do SO do usuário que roda a aplicação 4D no servidor.

Conteúdos

Para cada petição, os campos abaixo estão logados:

Campo nomeDescrição
sequence_numberNúmero de operação único e sequencial da sessão de histórico
timeData e hora usando formato ISO 8601: 'YYYY-MM-DDTHH:MM:SS.mmm'
systemidID de sistema
componenteAssinatura de componente (por exemplo '4SQLS' ou 'dbmg')
process*info*index Corresponds to the "index" field in 4DRequestsLog_ProcessInfo.txt log, and permits linking a request to a process.
requestID de petición C/S u ORDA o cadena de mensaje para peticiones SQL o mensajes LOG EVENT
bytes_inNúmero de bytes recebidos
bytes_outNúmero de bytes enviados
server_duration | exec_durationDepends on where the log is generated:
  • server_duration when generated on the client --Time taken in microseconds for the server to process the request and return a response. B to F in image below, OR
  • exec_duration when generated on the server --Time taken in microseconds for the server to process the request. B to E in image below.
  • write_durationTime taken in microseconds for sending the:
  • Request (when run on the client). A to B in image below.
  • Response (when run on the server). E to F in image below.
  • task_kindPreemptivo ou cooperativo (respectivamente 'p' ou 'c')
    rttTempo estimado em microssegundos para o cliente enviar a petição e o servidor para reconhecê-la. A to D and E to H in image below.
  • Only measured when using the ServerNet network layer, returns 0 when used with the legacy network layer.
  • For Windows versions prior to Windows 10 or Windows Server 2016, the call will return 0.
  • extraInformações adicionais relacionadas com o contexto, por exemplo, nome da classe de dados e/ou nome do atributo no caso de um pedido ORDA

    Fluxo de petição:

    4DRequestsLog_ProcessInfo.txt

    Este arquivo de histórico registra a informação em cada processo criado na máquina 4D Server ou na máquina remota 4D que executa o comando (excluindo petições Web).

    Como iniciar esse log:

    • no servidor:
    SET DATABASE PARAMETER(4D Server log recording;1) //lado servidor
    • em um cliente:
    SET DATABASE PARAMETER(Client Log Recording;1) //lado remoto

    Esta instrucción también inicia el archivo de historial 4DRequestsLog.txt.

    Cabeçalhos

    Este arquivo começa com os cabeçalhos abaixo:

    • Identificador de sessão de histórico
    • Hostname do servidor que hospeda a aplicação
    • Nome login Usuário: login do SO do usuário que roda a aplicação 4D no servidor.

    Conteúdos

    Para cada processo, os campos abaixo são registrados:

    Campo nomeDescrição
    sequence_numberNúmero de operação único e sequencial da sessão de histórico
    timeHora e data usando o formato ISO 8601 format: "YYYY-MM-DDTHH:MM:SS.mmm"
    process_info_indexNúmero de processo único e sequencial
    CDB4DBaseContextDB4D contexto de componente database UUID
    systemidID de sistema
    server_process_idID de processo no servidor
    remote_process_idId de processo no cliente
    process_nameNome de processo
    cIDIdentificador de conexão 4D
    uIDIdentificador de Cliente 4D
    IP ClientIPv4/IPv6アドレス
    host_nameHostname do cliente
    user_nameNome de login de usuário no cliente
    connection_uuidIdentificador UUID da conexão de processo
    server_process_unique_idID de Processo único em Servidor

    HTTPDebugLog.txt

    Este arquivo registra cada petição HTTP e cada resposta em modo raw (não processado). Petições inteiras, incluindo cabeçalhos, são registradas; opcionalmente, partes do corpo podem ser registradas também.

    Como iniciar esse log:


    WEB SET OPTION(Web debug log;wdl enable without body)
    //other values are available

    Os campos abaixo são registrados tanto para Request quanto para Response:

    Campo nomeDescrição
    SocketIDID da socked usada para comunicação
    PeerIPEndereço IPv4 do host (cliente)
    PeerPortPorta usada por host (cliente)
    TimeStampTimestamp em milisegundos (desde início sistema)
    ConnectionIDConnection UUID (UUID de VTCPSocket usada para comunicação)
    SequenceNumberNúmero de operação único e sequencial da sessão de histórico

    4DHTTPClientLog.txt

    Este arquivo de histórico registra o tráfego HTTP que passa pelo cliente HTTP do 4D. Whole requests and responses, including headers, are logged; optionally, body parts can be logged as well.

    Como iniciar esse log:


    HTTP SET OPTION(HTTP client log; HTTP enable log with all body parts)
    //other values are available

    Os campos abaixo são registrados tanto para Request quanto para Response:

    Campo nomeDescrição
    SequenceIDNúmero de operação único e sequencial da sessão de histórico
    ConnectionIDIdentificador UUID da conexão de processo
    LocalIPEndereço IP do Cliente
    PeerIPEndereço IP do servidor
    TimeStampTimestamp (ms) at the time the request is sent or the response is fully received
    ElapsedTimeInMs(response only) Difference with the request timestamp

    Depending on log options, various other fields can also be logged.

    • Para solicitação: linha de solicitação, cabeçalhos, corpo da solicitação
    • Para resposta: linha de estado, cabeçalhos, corpo da resposta (não compactado), se houver

    4DDebugLog.txt (standard)

    Esses registros de histórico gravam cada evento que ocorreu ao nível de programação de 4D. Modo padrão oferece uma vista básica de eventos.

    Como iniciar esse log:

    SET DATABASE PARAMETER(Debug Log Recording;2)  
    //standard, all processes SET DATABASE PARAMETER(Current process debug log recording;2)
    //standard, current process only

    Os campos abaixo estão registrados para cada evento:

    Coluna #Descrição
    1Número de operação único e sequencial da sessão de histórico
    2Data e hora em formato ISO 8601 (YYYY-MM-DDThh:mm:ss.mmm)
    3ID de processo (p=xx) e ID de processo único (puid=xx)
    4Nível de stack
    5Pode ser Command Name/ Method Name/Message/ Task Start Stop info/Plugin Name, event ou Callback/Connection UUID
    6Tempo que leva para a operação de histórico em milissegundos

    4DDebugLog.txt (tabular)

    Esse arquivo de histórico registra cada evento que ocorrer ao nível de programação 4D em um formato tabulado e compacto que inclui informação adicional (comparado ao formato padrão).

    Como iniciar esse log:

    SET DATABASE PARAMETER(Debug Log Recording;2+4)  
    //extended tabbed format, all processes SET DATABASE PARAMETER(Current process debug log recording;2+4)
    //extended, current process only

    Os campos abaixo estão registrados para cada evento:

    Coluna #Campo nomeDescrição
    1sequence_numberNúmero de operação único e sequencial da sessão de histórico
    2timeData e hora em formato ISO 8601 (YYYY-MM-DDThh:mm:ss.mmm)
    3ProcessIDProcess ID
    4unique_processIDID de processo
    5stack_levelNível de stack
    6operation_typeTipo operação histórico. This value may be an absolute value:

    1. Command
    2. Method (project method, database method, etc.)
    3. Message (sent by LOG EVENT command only)
    4. PluginMessage
    5. PluginEvent
    6. PluginCommand
    7. PluginCallback
    8. Task
    9. Member method (method attached to a collection or an object)

    When closing a stack level, the operation_type, operation and operation_parameters columns have the same value as the opening stack level logged in the stack_opening_sequence_number column. For example:

    1. 121 15:16:50:777 5 8 1 2 CallMethod Parameters 0
    2. 122 15:16:50:777 5 8 2 1 283 0
    3. 123 15:16:50:777 5 8 2 1 283 0 122 3
    4. 124 15:16:50:777 5 8 1 2 CallMethod Parameters 0 121 61

    The 1st and 2nd lines open a stack level, the 3rd and 4th lines close a stack level. Valores nas colunas 6, 7 e 8 são repetidos na linha do nível de stack ao fechar. A coluna 10 contém os números de sequência de abertura do nível de stack, ou seja, 122 para a terceira linha e 121 para a quarta.
    7operationMay represent (depending on operation type):
  • a Language Command ID (when type=1)
  • a Method Name (when type=2)
  • a combination of pluginIndex;pluginCommand (when type=4, 5, 6 or 7). May contain something like '3;2'
  • a Task Connection UUID (when type=8)
  • 8operation_parametersParâmetros passados a comandos, métodos ou plugins
    9form_eventEvento formulário se houver: vazio em outros casos (suponha que a coluna é usada quando o código for executado em um método formulário ou método objeto)
    10stack_opening_sequence_numberSó para níveis stack fechamento: número sequencia do nível correspondente de abertura de stack
    11stack_level_execution_timeSó para níveis de stack de fechamento: tempo decorrido em microssegundos da ação de histórico atual; só para os níveis de stack de fechamento (ver décima coluna em linhas 123 e 124 no histórico acima)

    4DDiagnosticLog.txt

    Esse arquivo registra vários eventos relacionados à operação de aplicação e sua leitura humana. Puede incluir información personalizada en este archivo utilizando el comando LOG EVENT.

    Como iniciar esse log:

     SET DATABASE PARAMETER(Diagnostic log recording;1) //começa o registro

    Os campos abaixo estão registrados para cada evento:

    Nome de campoDescrição
    sequenceNumberNúmero de operação único e sequencial da sessão de histórico
    timestampData e hora em formato ISO 8601 (YYYY-MM-DDThh:mm:ss.mmm)
    loggerIDOpcional
    componentSignatureOpcional - assinatura interna de componente
    messageLevelInformação, Aviso, Erro
    messageDescrição da entrada de histórico

    Dependendo do evento, vários outros campos podem ser registrados, como task, socket, etc.

    Níveis de registo de diagnóstico

    El archivo 4DDiagnosticLog.txt puede registrar diferentes niveles de mensajes, desde ERROR (más importante) a TRACE (menos importante). Por defecto, se define el nivel INFO, lo que significa que el archivo registrará sólo los eventos importantes, incluidos los errores y los resultados inesperados (ver más adelante).

    Puede seleccionar el nivel de los mensajes utilizando el selector de nivel de registro de diagnóstico del comando SET DATABASE PARAMETER, en función de sus necesidades. Quando se selecciona um nível, os níveis acima (que são mais importantes) são implicitamente seleccionados também. Estão disponíveis os seguintes níveis:

    ParâmetrosDescriçãoQuando seleccionado, inclui
    Log errorUma parte da aplicação não funcionaLog error
    Log warnErro potencial, utilização de uma função obsoleta, má utilização, situação indesejável ou inesperadaLog error, Log warn
    Log infoNivel por defecto - Evento de aplicación importanteLog error, Log warn, Log info
    Log debugDetalhe do fluxo de aplicação (para serviços técnicos 4D)Log error, Log warn, Log info, Log debug
    Log traceOutras informações internas (para serviços técnicos 4D)Log error, Log warn, Log info, Log debug, Log trace

    Exemplo:

    SET DATABASE PARAMETER (Diagnostic log recording; 1)
    SET DATABASE PARAMETER (Diagnostic log level; Log trace)

    4DSMTPLog.txt, 4DPOP3Log.txt, e 4DIMAPLog.txt

    Esses históricos registram cada troca entre a aplicação 4D e o servidor de mail (SMTP, POP3, IMAP) que foram iniciados pelos comandos abaixo:

    Os arquivos de histórico podem ser produzidos em duas versões:

    • uma versão comum:
      • chamada 4DSMTPLog.txt, 4DPOP3Log.txt, ou 4DIMAPLog.txt
      • sem anexos
      • usa um arquivo circular automático que é reciclado a cada 10MB
      • para depurações comuns

    Para começar esse histórico:

    SET DATABASE PARAMETER(SMTP Log;1) //inicia SMTP log
    SET DATABASE PARAMETER(POP3 Log;1) //inicia POP3 log
    SET DATABASE PARAMETER(IMAP Log;1) //inicia IMAP log

    4D Server: clic en el botón Iniciar los historiales de peticiones y de depuración en la página Mantenimiento ode la ventana de administración de 4D Server.

    Esta ruta al historial es devuelta por el comando Get 4D file.

    • uma versão estendida:
      • attachment(s) included no automatic recycling
      • nome personalizado
      • guardado para propósitos específicos

    Para começar esse histórico:

    $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)

    Conteúdos

    Para cada petição, os campos abaixo estão logados:

    Coluna #Descrição
    1Número de operação único e sequencial da sessão de histórico
    2Data e hora em formato RFC3339 (yyyy-mm-ddThh:mm:ss.ms)
    3ID de 4D Process
    4ID de processo
    5
    • SMTP,POP3, or IMAP session startup information, including server host name, TCP port number used to connect to SMTP,POP3, or IMAP server and TLS status,or
    • data exchanged between server and client, starting with "S <" (data received from the SMTP,POP3, or IMAP server) or "C >" (data sent by the SMTP,POP3, or IMAP client): authentication mode list sent by the server and selected authentication mode, any error reported by the SMTP,POP3, or IMAP Server, header information of sent mail (standard version only) and if the mail is saved on the server,or
    • SMTP,POP3, or IMAP session closing information.

    Pedidos ORDA

    Os registos de pedidos ORDA podem registar cada pedido ORDA e a resposta do servidor. Estão disponíveis dois registos de pedidos ORDA:

    • um registo de pedidos ORDA do lado do cliente, em formato .txt
    • um registo de pedidos ORDA do lado do servidor, em formato .jsonl

    Do lado do cliente

    O registo ORDA do lado do cliente regista cada pedido ORDA enviado a partir de uma máquina remota. Pode direcionar as informações de registo para a memória ou para um arquivo .txt no disco da máquina remota. O nome e rota desse arquivo pode ser escolhido.

    Como iniciar esse log:

    	//numa máquina remota
    SET DATABASE PARAMETER(Client Log Recording;1)
    ds.startRequestLog(File("/PACKAGE/Logs/ordaLog.txt"))
    //pode também ser enviado para a memória
    SET DATABASE PARAMETER(Client Log Recording;0)
    nota

    La activación del cliente 4DRequestsLog.txt utilianzdo SET DATABASE PARAMETER no es obligatoria. Sin embargo, es necesario si desea registrar el campo sequenceNumber único.

    Os campos abaixo são registrados para cada petição:

    Campo nomeDescriçãoExemplo
    sequenceNumberNúmero de operação único e sequencial da sessão de histórico104
    urlSolicitar URL"rest/Persons(30001)"
    startTimeData e hora de início utilizando o formato ISO 8601"2019-05-28T08:25:12.346Z"
    endTimeData e hora final usando formato ISO 8601"2019-05-28T08:25:12.371Z"
    durationDuração do processamento do cliente em milissegundos (ms)25
    responseObjeto resposta servidor{"status":200,"body":{"__entityModel":"Persons",[...]

    Exemplo

    Eis um exemplo de um registo de ficheiro de registo ORDA do lado do cliente:

    	{
    "sequenceNumber": 7880,
    "url": "rest/Employees/$entityset/F910C2E4A2EE6B43BBEE74A0A4F68E5A/Salary?$compute='sum'&$progress4Dinfo='D0706F1E77D4F24985BE4DDE9FFA1739'",
    "startTime": "2023-05-15T10:43:39.400Z",
    "endTime": "2023-05-15T10:43:39.419Z",
    "duration": 19,
    "response": {
    "status": 200,
    "body": 75651
    }
    }

    Do lado do servidor

    O registo ORDA do lado do servidor regista cada pedido ORDA processado pelo servidor, bem como a resposta do servidor (opcional). La información de registro se guarda en un archivo .jsonl en el disco de la máquina del servidor (por defecto, ordaRequests.jsonl).

    Como iniciar esse log:

    	//on the server
    SET DATABASE PARAMETER(4D Server log recording;1)
    ds.startRequestLog(File("/PACKAGE/Logs/ordaRequests.jsonl");srl log response without body)
    //srl... parameter is optional
    SET DATABASE PARAMETER(4D Server log recording;0)
    nota

    La activación del lado del servidor 4DRequestsLog.txt utilianzdo SET DATABASE PARAMETER no es obligatoria. Sin embargo, es necesario si desea registrar los campos exclusivos sequenceNumber y duration.

    Os campos abaixo são registrados para cada petição:

    Campo nomeDescriçãoExemplo
    sequenceNumberNúmero de operação único e sequencial da sessão de histórico104
    urlSolicitar URL"rest/Persons(30001)"
    startTimeData e hora de início utilizando o formato ISO 8601"2019-05-28T08:25:12.346Z"
    durationDuração do processamento do servidor em microssegundos (µ)2500
    responseServer response object, can be configured in .startRequestLog(){"status":200,"body":{"__entityModel":"Persons",[...]
    ipAddressEndereço IP do usuário"192.168.1.5"
    userNameNome do usuário 4D"henry"
    systemUserNameNome de login do usuário na máquina"hsmith"
    machineNameNome da máquina do utilizador"PC of Henry Smith"

    Exemplo

    Eis um exemplo de um registo de registo ORDA do lado do servidor:

       {
    "url": "rest/Employees/$entityset/F910C2E4A2EE6B43BBEE74A0A4F68E5A/Salary?$compute='sum'&$progress4Dinfo='D0706F1E77D4F24985BE4DDE9FFA1739'",
    "systemUserName": "Admin",
    "userName": "Designer",
    "machineName": "DESKTOP-QSK9738",
    "taskID": 5,
    "taskName": "P_1",
    "startTime": "2023-05-15T11:43:39.401",
    "response": {
    "status": 200,
    "body": 75651
    },
    "sequenceNumber": 7008,
    "duration": 240
    }

    Utilizar um ficheiro de configuração de log

    Puede utilizar un archivo de configuración de log para gestionar fácilmente el registro de los historiales en un entorno de producción. Este arquivo é pré-configurado pelo programador. Normalmente, pode ser enviado aos clientes para que estes apenas tenham de o selecionar ou copiar para uma pasta local. Uma vez ativado, o arquivo de configuração de registos desencadeia a gravação de registos específicos.

    Como activar o arquivo

    Existem várias formas de ativar o arquivo de configuração do registo, dependendo da sua configuração:

    • 4D Server con interfaz: puede abrir la página de mantenimiento y hacer clic en el botón Cargar el archivo de configuración de logs y luego seleccionar el archivo. Neste caso, pode utilizar qualquer nome para o arquivo de configuração. É imediatamente ativado no servidor.
    • an interpreted or compiled project: the file must be named logConfig.json and copied in the Settings folder of the project (located at the same level as the Project folder). É ativado no arranque do projeto (apenas no servidor em cliente/servidor).
    • una aplicación construida: el archivo debe llamarse logConfig.json y copiarse en la siguiente carpeta:
      • Windows: Users\[userName]\AppData\Roaming\[application]
      • macOS: /Users/[userName]/Library/ApplicationSupport/[application]
    • todos los proyectos con un 4D autónomo o remoto: el archivo debe llamarse logConfig.json y copiarse en la siguiente carpeta:
      • Windows: Users\[userName]\AppData\Roaming\4D
      • macOS: /Users/[userName]/Library/ApplicationSupport/4D
    • todos los proyectos con 4D Server: el archivo debe llamarse logConfig.json y copiarse en la siguiente carpeta:
      • Windows: Users\[userName]\AppData\Roaming\4D Server
      • macOS: /Users/[userName]/Library/ApplicationSupport/4D Server
    nota

    Si se instala un archivo logConfig.json tanto en la carpeta Settings como en AppData/Library, el archivo de la carpeta Settings tendrá prioridad.

    Descrição do ficheiro JSON

    El archivo de configuración del registro es un archivo .json que debe cumplir con el siguiente esquema json:

    {
    "$schema": "http://json-schema.org/draft-07/schema",
    "title": "Logs Configuration File",
    "description": "A file that controls the state of different types of logs in 4D clients and servers",
    "type": "object",
    "properties": {
    "forceConfiguration": {
    "description": "Forcing the logs configuration described in the file ingoring changes coming from code or user interface",
    "type": "boolean",
    "default": true
    },
    "requestLogs": {
    "description": "Configuration for request logs",
    "type": "object",
    "properties": {
    "clientState": {
    "description": "Enable/Disable client request logs (from 0 to N)",
    "type": "integer",
    "minimum": 0
    },
    "serverState": {
    "description": "Enable/Disable server request logs (from 0 to N)",
    "type": "integer",
    "minimum": 0
    }
    }
    },
    "debugLogs": {
    "description": "Configuration for debug logs",
    "type": "object",
    "properties": {
    "commandList": {
    "description": "Commands to log or not log",
    "type": "array",
    "items": {
    "type": "string"
    },
    "minItems": 1,
    "uniqueItems": true
    },
    "state": {
    "description": "integer to specify type of debuglog and options",

    "type": "integer",
    "minimum": 0
    }
    }
    },
    "diagnosticLogs":{
    "description": "Configuration for debug logs",
    "type": "object",
    "properties": {
    "state":{
    "description": "Enable/Disable diagnostic logs 0 or 1 (0 = do not record, 1 = record)",
    "type": "integer",
    "minimum": 0
    },
    "level": {
    "description": "Configure diagnostic logs",
    "type": "integer",
    "minimum": 2,
    "maximum": 6
    }
    }
    },
    "httpDebugLogs": {
    "description": "Configuration for http debug logs",
    "type": "object",
    "properties": {
    "level": {
    "description": "Configure http request logs",
    "type": "integer",
    "minimum": 0,
    "maximum": 7
    },
    "state": {
    "description": "Enable/Disable recording of web requests",
    "type": "integer",
    "minimum": 0,
    "maximum": 4
    }
    }
    },
    "HTTPClientLogs": {
    "description": "Configuration for http client logs",
    "type": "object",
    "properties": {
    "state": {
    "description": "Configure http client logs",
    "type": "integer",
    "minimum": 0,
    "maximum": 7
    },
    }
    },
    "POP3Logs": {
    "description": "Configuration for POP3 logs",
    "type": "object",
    "properties": {
    "state": {
    "description": "Enable/Disable POP3 logs (from 0 to N)",
    "type": "integer",
    "minimum": 0
    }
    }
    },
    "SMTPLogs": {
    "description": "Configuration for SMTP logs",
    "type": "object",
    "properties": {
    "state": {
    "description": "Enable/Disable SMTP log recording (form 0 to N)",
    "type": "integer",
    "minimum": 0
    }
    }
    },
    "IMAPLogs": {
    "description": "Configuration for IMAP logs",
    "type": "object",
    "properties": {
    "state": {
    "description": "Enable/Disable IMAP log recording (form 0 to N)",
    "type": "integer"
    }
    }
    },
    "ORDALogs": {
    "description": "Configuration for ORDA logs",
    "type": "object",
    "properties": {
    "state": {
    "description": "Enable/Disable ORDA logs (0 or 1)",
    "type": "integer"
    },
    "filename": {
    "type": "string"
    }
    }
    }
    }
    }

    Exemplo

    Aqui está um exemplo de arquivo de configuração de log:

    {
    "forceLoggingConfiguration": false,
    "requestLogs": {
    "clientState": 1,
    "serverState": 1
    },
    "debugLogs": {
    "commandList":["322","311","112"],
    "state": 4
    },
    "diagnosticLogs":{
    "state" : 1
    },
    "httpDebugLogs": {
    "level": 5,
    "state" : 1
    },
    "POP3Logs": {
    "state" : 1
    },
    "SMTPLogs": {
    "state" : 1
    },
    "IMAPLogs": {
    "state" : 1

    },
    "ORDALogs": {
    "state" : 1,
    "filename": "ORDALog.txt"
    }
    }