Debug en SIU Guaraní

Hola, buenas tardes.

Soy algo nuevo en Guaraní y estoy trabajando en una personalización.
Me preguntaba como podría hacer Debug de una variable para conocer sus valores y cual seria la forma correcta de hacerlo dentro de Guaraní, ya que hay varios archivos de logs; o sino, cual es la forma que mejor les resulta a ustedes?

Muchas gracias!

Hola,

Es en gestión? Si querés enviar el valor de la variable a los logs podés usar la sentencia:

toba::logger()->notice("Valor de la variable: $variable");

Para ver en pantalla los valores de un arreglo usamos:

ei_arbol($variable);

Saludos, Florencia.

Hola Nora, agrego a lo de Flor:

Para Guaraní Autogestión y Preinscripción podes usar:


use SIU\Chulupi\kernel;

$etiqueta = "=== Alumnos ===";
$valor_a_dumpear = $alumnos;
kernel::log()->add_debug($etiqueta, $valor_a_dumpear);

try {
   
} catch (Exception $e) {
    kernel::log()->add_error($e);
}

Vas a tener que hacer use SIU\Chulupi\kernel; para cargar la clase kernel.
Podes ver el resto de las funciones en esta clase: vendor/siu/chulupi-framework/src/SIU/Chulupi/util/log/log.php.

No recomendamos usar var_dump($valor) ya que la navegación se hace por AJAX, y el var_dump rompe la respuesta JSON.

saludos.
2

Hola
Estoy intentando personalizar la función get_coeficiente_inscripcion
Para ello cree dentro de la rama de personalizaciones el archivo personalizaciones-gestion/personalizacion/php/nucleo/matriculas/alumnos/alumno.php
Dentro del mismo:

<?php
  class alumno extends alumno_nucleo {

	/**
	 * Calcula el coeficiente de un alumno.
	 * @param int $alumno ID del alumno (tabla 'sga_alumnos').
	 * @return float Coeficiente del alumno.
	 */
	static function get_coeficiente_inscripcion($alumno)
	{
		toba::logger()->debug("alumno: {$alumno} ");

		$sql = "SELECT * FROM negocio_pers.f_econ_calculo_coef_inscripcion_por_rango($alumno)";
		$coeficiente = guarani_db::ejecutar($sql, true);

		toba::logger()->info("coeficeinete: {$coeficiente} ");

		return $coeficiente;
	}
  }
?>

Pero resulta que estas salidas:
toba::logger()->debug("alumno: {$alumno} ");
toba::logger()->info("coeficeinete: {$coeficiente} ");

no las encuentro en el archivo …/gestion/instalacion/i__desarrollo/p__guarani/logs/sistema.log

En qué me estoy equivocando?
Gracias!

Saludos
Iris

Hola Iris,

Puede estar pasando lo siguiente:

Si es en Gestión revisa en el archivo www/aplicacion.php la directiva define(“apex_pa_log_archivo_nivel”, 7);, para modo debug debe tener el valor 7.

Si es en Autogestión revisa en el archivo instalacion/config.php la directiva ‘nivel’ => log::NIVEL_DEBUG,. Los logs en Autogestión se guardan dentro de instalacion/log/.

saludos.
2

Hola Leonel

Es en Gestión. Entiendo tiene sentido hacerlo sólo allí ya que es para la operación: » CALENDARIO » PERÍODOS LECTIVOS »CALCULAR COEFICIENTES DE INSCRIPCIÓN

El nivel de debug está seteado en 7, ya que es un ambiente de desarrollo. Sigo sin ver los debug que intento emitir.

La ejecución de la operación emite lo siguiente en los logs:

[DEBUG][toba] componente(32000344): Pantalla de servicio: ''
[DEBUG][toba] componente(32000344): [ callback ] 'conf__procesar'
[INFO][toba] componente(32000344): [ callback ] 'conf__form_totales' no fue atrapado
[INFO][toba] componente(32000347): [ callback ] 'conf__ci_procesamiento' no fue atrapado
[DEBUG][toba] [SECCION] Respondiendo al servicio__ajax...
[DEBUG][guarani] [Respuesta AJAX]  array (
  '_fila' => '',
  'alumnos_procesados' => '6',
)

Puede estar relacionado el hecho de ser una respuesta AJAX?
Gracias por la orientación.
Saludos.

Iris

Hola Iris,

Se trata de una operación que ejecuta un proceso background y en estos casos los mensajes de debug se encuentran en ‘<path proyecto Guaraní>/instalacion/logs_comandos/comandos.log’.

Saludos, Florencia.

Gracias Florencia!!
Ahora si!!
Saludos.

Iris