Melhores registos de depuração com estas melhorias

Tradução automática de Deepl

Como programador 4D, pode já ter activado o registo de depuração para a resolução de problemas. 4D v17 R5 introduz várias melhorias para o ajudar a analisar estes ficheiros, tais como registar apenas o processo actual e registar chamadas para métodos de membros (métodos de recolha ou de objectos).

Novo selector para registo de processos

O SET DATABASE PARAMETER aceita agora um novo selector, Current process debug log recording. Chamado a partir de qualquer parte de um processo, começará a registar apenas para o processo actual e criará um ficheiro “4DDebugLog_pX_Y.txt” na pasta de registos 4D (onde X é o processo PUID e Y o número do ficheiro de sequência). Claro que também se pode obter o estado de registo de depuração do processo utilizando este novo selector com o comando Get database parameter .

SET DATABASE PARAMETER(Current process debug log recording;2+4+8)

Pode continuar a utilizar o selectorDebug log recording para registar os registos da actividade de todos os processos, excluindo os processos registados por Current process debug log recording.

Lembrete: pode aceder facilmente aos registos de depuração utilizando esta linha de código:

SHOW ON DISK(Get 4D folder(Logs folder))

Na imagem de ecrã abaixo, pode ver os registos gerados por cinco processos:

Tenha em mente que uma vez que o SET DATABASE PARAMETER não é seguro, o processo começará em modo cooperativo.

MÉTODOS de registo dos membros

Por defeito, os registos de depuração incluem agora chamadas para métodos de membros. São registados com o tipo de comando número 9. Se não quiser que os métodos de membro sejam incluídos, basta ligar para o SET DATABASE PARAMETER e os selectores Debug log recording ou Current process debug log recording com uma nova opção que tem o valor 32. Pode ainda combinar as opções para obter os registos de depuração que desejar.

Este exemplo mostra como registar as interfaces WiFi e Ethernet em colecções separadas:

SET DATABASE PARAMETER(Current process debug log recording;2+4+8)
C_COLLECTION ($_networkInterfaces;$_ethernet;$_wifi)
$_networkInterfaces:=Get system info.networkInterfaces
$_ethernet :=$_networkInterfaces.query("type = :1"; "ethernet")
$_wifi :=$_networkInterfaces.query("type = :1"; "wifi")
SET DATABASE PARAMETER (Current process debug log recording;0)

O código retorna:

blank

Mais segurança

Anteriormente, ao lançar os registos, eram gerados ficheiros até que não houvesse mais espaço em disco disponível. Para evitar erros ou activação acidental na Janela de Administração do Servidor 4D – que podem ser perigosos – o número de ficheiros gerados é limitado a 50 por defeito. Este limite pode ser modificado através da SET DATABASE PARAMETER e o selector Circular log limitation .

// Limit the number of logs files to 100 (the default number is set to 50)
SET DATABASE PARAMETER(Circular log limitation;100)

Avatar
• Proprietário do produto - Damien Fuzeau entrou ao time 4D Product em fevereiro de 2019. Como Proprietário do Produto, está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação da funcionalidade entregue cumpra com as necessidades do cliente. Damien é formado em engenharia de software pela Universidade de Nantes. Trabalhou mais de 23 anos em sua empresa anterior, primeiro como desenvolvedor (descobrindo 4D em 1997), e mais tarde como gerente de engenharia e arquiteto de software. Essa empresa é um Partner OEM de 4D e lançou softwares empresariais baseados em 4D para milhares de usuários em centenas de servidores. Portanto Damien está acostumado ao desenvolvimento e lançamento de 4D em contextos multilinguais.