Mejores registros de depuración con estas mejoras

Traducido automáticamente de Deepl

Como desarrollador 4D, es posible que ya haya activado el registro de depuración para solucionar problemas. 4D v17 R5 introduce varias mejoras para ayudarle a analizar estos archivos, como el registro sólo del proceso actual y el registro de las llamadas a los métodos miembros (métodos de colección o de objeto).

Nuevo selector para el registro de procesos

El comando SET DATABASE PARAMETER acepta ahora un nuevo selector, Current process debug log recording. Llamado desde cualquier parte de un proceso, iniciará el registro sólo para el proceso actual y creará un archivo «4DDebugLog_pX_Y.txt» en la carpeta de registros de 4D (donde X es el PUID del proceso e Y el número del archivo de secuencia). Por supuesto, también puede obtener el estado del registro de depuración del proceso utilizando este nuevo selector con el comando Get database parameter.

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

Puede seguir utilizando el selector Debug log recording para registrar los registros de la actividad de todos los procesos, excluyendo los procesos registrados por Current process debug log recording.

Recordatorio: puedes acceder fácilmente a los registros de depuración utilizando esta línea de código:

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

En la captura de pantalla de abajo, puedes ver los registros generados por cinco procesos:

Tenga en cuenta que como el SET DATABASE PARAMETER no es seguro para los hilos, el proceso se iniciará en modo cooperativo.

METODOS DE REGISTRO DE MIEMBROS

Por defecto, los registros de depuración incluyen ahora las llamadas a los métodos miembros. Se registran con el tipo de comando número 9. Si no quiere que se incluyan los métodos miembros, sólo tiene que llamar al comando SET DATABASE PARAMETER y los selectores Debug log recording o Current process debug log recording con una nueva opción que tenga el valor 32. Todavía puede combinar las opciones para obtener los registros de depuración que desee.

Este ejemplo muestra cómo registrar las interfaces WiFi y Ethernet en colecciones 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)

El código devuelve:

blank

Más seguridad

Anteriormente, al lanzar los registros, se generaban archivos hasta que no había más espacio disponible en el disco. Para evitar errores o la activación accidental en la ventana de administración de 4D Server – lo que podría ser peligroso – el número de archivos generados está limitado a 50 por defecto. Puede modificar este límite a través del comando SET DATABASE PARAMETER y el 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
• Propietario de producto - Damien Fuzeau se ha unido al equipo de 4D Product en febrero de 2019. Como Propietario de producto, está a cargo de escribir historias de usuario, y luego traducirlas a especificaciones funcionales. Su trabajo también implica asegurarse de que las implementaciones de funcionalidades entregadas estén cumpliendo con las necesidades del cliente. Damien es licenciado en ingeniería de software por la Universidad de Nantes. Estuvo más de 23 años en su anterior empresa, primero como desarrollador (descubriendo 4D en 1997), y más tarde como gerente de ingeniería y arquitecto de software. Esta compañía es un Partner OEM de 4D y ha desplegado softwares empresariales basados en 4D para miles de usuarios, en cientos de servidores. Por lo tanto, Damien está acostumbrado al desarrollo y despliegue de 4D en un contexto multilingüe.