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