Herramientas de usuario

Herramientas del sitio


ada:howto:sicoferp:factory:logmodels:registryerrors

¡Esta es una revisión vieja del documento!


Fábrica - Modelos Logs - Log de Registro de Errores

Este es el log utilizado para registrar los errores generados en los procesos de las aplicaciones de la compañia.

¿Donde usar el Servicio?

Este servicio debe consumirse en las generaciones de errores de:

  • Aplicaciones Java
  • Aplicaciones .Net
  • Web Service
  • Integración Supertabla
  • Soluciones que afecten los productos SICOF

Nota: Aplicaciones Powerbuilder

Powerbuilder tiene restricciones para el consumo de servicios Rest por lo tanto en las aplicaciones de esta tecnología se implementará un API para realizar las llamadas.

Diccionario de Datos

OWNER SICOF TABLE MOV_LOG_ERRORES COMMENTS Contiene el registro de errores genrados en los procesos de las aplicaciones SICOF
# NAME NULLEABLE TYPE COMMENTS
1CODIGO_INTERNONNUMBER(38,0)Identificador interno del registro (autoincrementado por secuencia)
2COD_ORA_ERRORYNUMBERCódigo del error (Puede usuarse para errores del manejador de base de datos pero el campo es multiproposito)
3MSJ_ORA_ERRORYVARCHAR2(1024)Mensaje simple del error (Resumen)
4NOM_PROCEDIMIENTOYVARCHAR2(128)Nombre del método, procedimiento, claseo contexto de ejecución local donde se genera el error
5FECHAYDATEFecha en la cuál se genera el error
6USUARIO_BDYVARCHAR2(32)Usuario de conexión de la base de datos
7OBSERVACIONYVARCHAR2(2048)Mensaje extendido del error (Detalle)
8HOST_CLIENTEYVARCHAR2(50)Host del cliente (Dirección IP)
9FECHA_REGISTROYDATEFecha del sistema DB
10CODIGO_USUARIOYNUMBERCódigo del usuario de la sesión en la cuál se genera el error
11CODIGO_MEMPRESAYVARCHAR2(64)Código de la empresa de la sesión en la cuál se genera el error
12CODIGO_APLICACIONYNUMBERCódigo de la aplicación (Identificador interno numérico)
13INFO_APPYVARCHAR2(256)Información de la aplicación (En las situaciónes donde no se identifique código interno se puede enviar el nombre de la aplicación o información adicional)
14SESSION_MACYVARCHAR2(64)MAC del equipo del usuario
15SESSION_BROWSERVERSIONYVARCHAR2(64)Versión del Navegador
16SESSION_OSTYPEYVARCHAR2(64)Sistema Operativo
17ERROR_LOGYCLOBUtilizada solo para casos especiales donde sea necesaria registrar información amplia del error
18ERROR_TYPEYVARCHAR2(64)Tipo del error (LEVE, MODERADO, CRITICO por defecto)

Modo de uso: Powerbuilder - Documentación

Para visualizar la documentación debe descargar el siguiente repositorio Documentación, abrir la pagina Index.html en su navegador web la cual es similar a la siguiente imagen:

En ella encontrará la documentación de las librerias que hacen parte del framework Objetos SICOF el cuál se irá actualizando frecuentmente a medida que se documenten las clases.

La Libreria que contiene la funcionalidad de los logs es la librería sf00util.pbl

Los Objetos relacionados en el API son:

  • n_cst_app: Clase contenedora de objetos logs
  • n_cst_log_errores: Clase para la gestión de errores

Ejemplos de Uso

Para facilitar la implementación y uso del API de gestión de errores se crea un objeto interno privado en la clase global guo_app el cual puede ser accedido por el método of_log_error() que devuelve la instancia del objeto. Sin embargo para implementaciones específicas se puede optar por crear y administrar la clase de error n_cst_log_error según considere el desarrollador.

A continuación se listan ejemplos de uso el cuál presenta las forma de utilizar el API, para más información debe consultar la documentación en el repositorio.

/*Ejemplos de uso utilizando la instancia genérica de la clase guo_app*/
guo_app.of_log_error( ).of_add_log("EJEMPLO_CODE", 10, true, SQLCA)
guo_app.of_log_error( ).of_add_log("EJEMPLO_CODE", "ERROR_DB", true, SQLCA)
guo_app.of_log_error( ).of_add_log("EJEMPLO_CODE", 10, ls_args, true, SQLCA)
guo_app.of_log_error( ).of_add_log_text("Ejemplo", "ERROR_DB", "Presupuesto", true, SQLCA)
guo_app.of_log_error( ).of_add_log_text( sqldbcode, sqlerrtext, dataobject, sqlsyntax, ls_ventana, true, lts_db)
 
/*Ejemplo de uso definiendo la clase de error, 
instancia el array de formateo de mensaje y 
registra en el log el mensaje formateado. 
Posteriormente elimina la instancia de la clase de gestión de error.
"El array de formateo se utiliza cuando el mensaje se genera por expresiones: 
Ejemplo:
Mensaje Base = Hola #1 (identificado con el código de mensaje SALUDO_CODE), 
se crea un array con un expresión de la siguiente forma 
array[1] = "Mundo", 
de esta forma al usar el método of_add_log se genera el mensaje: Hola Mundo".
*/
n_cst_log_error luo_log_error
String ls_args[]
ls_args[1] = "Mundo"
luo_log_error = Create n_cst_log_error
luo_log_error.of_add_log("SALUDO_CODE", 10, ls_args, true, SQLCA)
destroy luo_log_error
 
/*Ejemplo de uso definiendo la clase de error y 
registra en el log el mensaje por medio de un código de mensaje. 
Posteriormente elimina la instancia de la clase de gestión de error.*/
n_cst_log_error luo_log_error
luo_log_error = Create n_cst_log_error
luo_log_error.of_add_log("EJEMPLO_CODE", 10, true, SQLCA)
destroy luo_log_error
 
/*Ejemplo de uso definiendo la clase de error y 
registra en el log el mensaje por medio de un código de mensaje. 
Posteriormente elimina la instancia de la clase de gestión de error.*/
n_cst_log_error luo_log_error
luo_log_error = Create n_cst_log_error
luo_log_error.of_add_log("EJEMPLO_CODE", "ERROR_DB", true, SQLCA)
destroy luo_log_error
Consideraciones
  • El API puede ser activada o desactivada por medio de la constante: LOG_ERRORS (Solo en aplicaciones SICOF ERP (Appeon/Powerbuilder)).
  • El desarrollador es el encargado de gestionar la transacción que realiza la persistencia.
  • Se automatiza el registro de errores en los objetos uo_datawindow y uo_datastore en toda su herencia.
  • Se automatiza el registro de errores genéricos no controlados lanzados por el evento systemerror de Powerbuilder.

Modo de uso: Java

Para las aplicaciones desarrolladas en las tecnologías (Web):

  • Java
  • .Net
  • PHP

El log está implementado por medio del siguiente Servicio Web

←Volver atras

ada/howto/sicoferp/factory/logmodels/registryerrors.1628171816.txt.gz · Última modificación: 2021/08/05 13:56 por administraidor