Etiqueta

04 enero 2011

¿Cómo crear, mantener y visualizar un archivo "log"?

Casi todas las aplicaciones cuentan con un archivo "log", donde guardar las incidencias que se vayan produciendo durante su ejecución, normalmente se trata de un archivo de texto "txt" con varias columnas tabuladas.

A continuación se muestra como crear, mantener y visualizar un archivo "log" para nuestra librería Omnis Studio, se describen un total de tres procedimientos:

1) Crear archivo 2) Añadir entradas 3) Visualizar contenido.

1) Método para crear el archivo, (toma su nombre del que ya tiene la librería)

Calculate ArchivoLog as con(mid(sys(10),1,len(sys(10))-3),'log')
Do FileOps.$doesfileexist(ArchivoLog) Returns ExisteLog
If not(ExisteLog)
Do FileOps.$createFile(ArchivoLog)
End If
2) Método para añadir entradas al archivo (Denominado: $grabalog)

Variable de parámetro

"PTextoLog" de tipo Carácter (Contiene el texto a grabar en el archivo de log)

; Inserta una línea en el archivo de log, con el texto contenido en "PTextoLog"Calculate lPathname as con(mid(sys(10),1,len(sys(10))-3),'log')Do FileLog.$openfile(lPathname)Do FileLog.$getfilesize() Returns FileEndDo FileLog.$writefile(con(#D,' ',tim(#T,'H:N:S'),chr(9),PTextoLog,chr(9), iUserName,chr(13)),FileEnd)Do FileLog.$closefile()

Ejemplo de llamada al método "$grabalog"

Do method $grabalog (con('Sesión iniciada con éxito en ',iSessionName))
Esto añadiría una nueva entrada (el texto se pasa en el parámetro "PTextoLog")

3) El siguiente procedimiento transfiere el contenido del archivo de log a una lista.

Set current list lListaLogDefine list {IFechaLog,ITextoLog,IUsuarioLog}Calculate lPathname as con(mid(sys(10),1,len(sys(10))-3),'log')Set import file name {[lPathname]}Prepare for import from file {Delimited (tabs)}Import data lListaLogEnd importClose import file
Y esto es todo, sencillo pero eficaz, sigo animando a todos los lectores de este blog a que dejéis vuestros animadores comentarios, eso permitirá que continúe añadiendo mis experiencias al mismo.

Ya sabéis que también podéis contactar conmigo a través de Skipe e incluso (si así lo deseáis) podríais colaborar con la publicación de vuestras propias experiencias, sería estupendo que este blog se convirtiera en un punto de encuentro para todos los que “nos pegamos” con el desarrollo de aplicaciones en Omnis Studio.

No hay comentarios: