Niveles de depuración APEX

En APEX tenemos diferentes niveles de mensajes de depuración, ahora lo estoy usando muchísimo para depurar los reportes que estoy trabajando con el plugin de APEX Office Print y poder ver los mensajes de AOP 🙂

Como sabemos en la sintaxis de la URL de APEX podemos activar o desactivar la depuración en el quinto argumento:

Por ejemplo:

f?p=App:Page:Session:Request:Debug:ClearCache:itemNames:itemValues:PrinterFriendly

El argumento Debug: muestra los detalles de procesamiento de la aplicación. Los valores válidos para este indicador incluyen:

  • YES
  • LEVELn
  • NO

Al establecer este indicador en YES, se muestran detalles sobre el procesamiento de la aplicación. Ahora si establecemos este indicador en LEVELn (donde n está entre 1 y 9) controla el nivel de detalle de depuración que se muestra. El valor de YES es igual a LEVEL4.

Podemos hacer referencia al indicador de depuración utilizando la siguiente sintaxis:

  • Cadena de sustitución corta: &DEBUG.
  • PL/SQL: V(‘DEBUG’)
  • Variable Bind: :DEBUG

El paquete APEX_DEBUG proporciona funciones de utilidad para administrar el registro de mensajes de depuración. Específicamente, este paquete nos proporciona las API necesarias para instrumentar y depurar el código PL/SQL contenido en nuestra aplicación APEX, así como el código PL/SQL en los procedimientos y funciones almacenados en la base de datos.

Si echamos un vistazo a la especificación del paquete, podemos ver el significado de cada nivel (aunque faltan los niveles 3 y 7).

Constantes usadas en el pkg:

subtype t_log_level is pls_integer; 
c_log_level_error constant t_log_level := 1; -- critical error 
c_log_level_warn constant t_log_level := 2; -- less critical error 
c_log_level_info constant t_log_level := 4; -- default level if debugging is enabled (for example, used by apex_application.debug) 
c_log_level_app_enter constant t_log_level := 5; -- application: messages when procedures/functions are entered 
c_log_level_app_trace constant t_log_level := 6; -- application: other messages within procedures/functions 
c_log_level_engine_enter constant t_log_level := 8; -- Application Express engine: messages when procedures/functions are entered 
c_log_level_engine_trace constant t_log_level := 9; -- Application Express engine: other messages within procedures/functions

Podemos establecer este nivel al agregar mensajes de depuración manualmente mediante el procedimiento apex_debug.message.

Publicado por Ing. Clarisa Maman Orfali

Clarisa es Oracle ACE Director, con más de 27 años de experiencia como desarrolladora, docente, autora y consultora en Tecnologías de la Información. Clarisa es de Argentina que vive y trabaja en Irvine, California, en los Estados Unidos. Ella es autora de los primeros tres libros de Oracle APEX. También es co-fundadora del Grupo de Usuarios de Oracle de Argentina (AROUG) y se ha especializado los últimos 13 años en el desarrollo de aplicaciones web con Oracle Application Express (APEX).

Deja un comentario

A %d blogueros les gusta esto: