Aprender a utilizar un archivo LOG en tus procesos te permitirá hacer un seguimiento más rápido de los problemas que pueda presentar el proceso o los datos que fueron procesados.
Los archivos LOG son muy eficientes a la hora de buscar problemas de inconsistencia de datos o de errores ocurridos en tiempo de ejecución, ya que contienen mucha información relevante que te permitirán resolver los problemas más rápidamente. Veamos un ejemplo donde se genere un archivo LOG:
Procedure Prc_Log(pst_buscar in varchar2, pin_rut in number) Is
lst_nombre varchar2(100);
lfi_mi_log utl_file.file_type;
Begin
— Se crea el archivo LOG.
lfi_mi_log:= Utl_File.Fopen(‘RUTA_LOG’,’MI_ARCHIVO.log’,’W’);
If pst_buscar = ‘SI’ Then
Utl_File.Put_Line(lfi_mi_log,’Se ejecuta proceso Pkg_Controlar.Prc_Nombre(’ ||to_char(pin_rut) ||’)’ );
Pkg_Controlar.Prc_Nombre(pin_rut, lst_nombre);
Else
Utl_File.Put_Line(lfi_mi_log,’Se realizan otros procesos’);
< se realizan otros procesos … >
End if;
Utl_File.Put_Line(lfi_mi_log,’Proceso termino correctamente’);
— Se cierra el archivo.
Utl_File.Fclose(lfi_mi_log);
Exception
When Others Then
Utl_File.Put_Line(lfi_mi_log,’Proceso termino con error: ’|| To_Char(Sqlcode) ||’ – ‘|| Sqlerrm);
— Se cierra el archivo.
Utl_File.Fclose(lfi_mi_log);
End Prc_Log;
TÚ REPORTE: «Cómo Construir un SELECT Eficiente en ORACLE en Solo 7 Pasos» ¡ Haz Click Aquí y Descárgalo GRATIS Ahora !
En este ejemplo se genera un archivo LOG, primero se define la variable lfi_mi_log del tipo utl_file.file_type, después se crea el archivo log con la función Fopen donde se indica la ruta y el nombre del archivo, luego con la función Put_Line se van escribiendo los textos en el archivo plano, como por ejemplo, cuando se ejecuto un proceso, si el proceso genero algún error, se puede incluir también la hora de inicio y término, los valores de las variables utilizadas, etc. Finalmente se indica si el proceso terminó correctamente o terminó con error y se cierra el archivo plano.
Estoy muy interesado en conocer tu opinión y/o comentario sobre este artículo, también cuéntame sobre qué es lo que quieres saber de Packages en Oracle y/o dime cuál es tu principal frustración a la hora de trabajar con Packages en Oracle. Estaré muy atento respondiendo tus preguntas y/o comentarios, gracias.
Saludos
Roberto Vicencio – Escritor del Reporte:
buenas tardes
estuve mirando como crear un log que necesito para un reporte que se debe ejecutar en un servidor pero la verdad no supe como, si me puedes ayudar mil gracias
Hola Oscar, creo que en el artículo muestro lo necesario para crear un log sencillo, para poder ayudarte mas indícame si probaste el ejemplo descrito y con que problema te encontraste.
PD: Te invito a suscribirte a mi blog para obtener el reporte gratuito «Como contruir un SELECT eficiente en Oracle en solo 7 pasos», luego cada semana te seguiré enviando información de valor, clic aquí abajo:
http://dominatuspackagesenoracle.com/blog
Saludos
Roberto Vicencio – Para Tu Éxito con Oracle.
Estimados,
Creo el log pero cuando nos referimos a RUTA_LOG a que se refiere?
Hola Rodrigo, gracias por comunicarte, la RUTA_LOG se refiere a una cadena de caracteres que corresponde a un objeto de directorio, un objeto de directorio hace referencia a una ruta física en tu servidor, crear la ruta y el objeto directorio es conveniente que se lo solicites al Administrador de la Base de Datos o DBA.
Saludos
Roberto Vicencio – Para Tu Éxito con Oracle.
PD: Ya descargaste mi reporte gratuito de ‘Como Construir un SELECT Eficiente en Oracle en Solo 7 Pasos’, si aún no los has hecho puedes obtenerlo aquí:
http://dominatuspackagesenoracle.com