Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Logs De Informacion (Registro De Eventos)
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Logs De Informacion (Registro De Eventos) 
 
Soy un poco nuevo en esto de gambas y quisiera saber como programar un sencillo registro de eventos en gambas, que permita guardar inicio de sesion, cierre de sesion del usuario, cambios realizados, errores y fecha. algo parecido a esto, http://i.msdn.microsoft.com/dynimg/IC2728.png espero puedan ayudarme
 



 
última edición por sanchezdenis19 el Domingo, 19 May 2013, 05:11; editado 1 vez 
sanchezdenis19 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Logs De Informacion (Registro De Eventos) 
 
Hola

En el siguiente enlace tienes un artículo escrito por uno de nuestros usuarios donde se dan unas pautas básicas para la creación de un sistema de logs para aplicaciones. No es un ejemplo funcional ni el código está listo para usarse, pero te despejará algunas dudas y te dará alguna idea para implementarlo tu mismo.

http://foro.gambas-es.org/kb.php?mode=article&k=6

Desde luego, lo primero a tener en cuenta es el soporte donde vamos a almacenar el log, que puede ser en una base de datos o en ficheros de texto plano. Como no das más detalles, no podemos ayudarte con esto. Pero a medida que te vayan surgiendo dudas concretas puedes ir preguntando.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Logs De Informacion (Registro De Eventos) 
 
Además de lo que te comenta jguardon, para el tema de errores esta la clase Error http://www.gambasdoc.org/help/comp/gb/error?es, que ademas de darte el numero de error, texto del error, en que linea se ha producido, tambien te puede dar la pila de los procedimientos que se estaban ejecutando.

Todo esta información es muy util para cuando este testeando un programa, para saber por qué y dónde ha ocurrido un error.

Yo lo uso creando un formulario, que es llamado mediante la instruccion Catch, http://www.gambasdoc.org/help/lang/catch?es
Este formulario me muestra toda la información y que el usuario pueda pegar al portapapeles para que me lo mande por correo la incidencia...

Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
última edición por jsbsan el Domingo, 19 May 2013, 21:14; editado 1 vez 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Logs De Informacion (Registro De Eventos) 
 
Todas mis aplicaciones profesionales llevan un sistema de log propio. El tema se puede resumir en:

1.- Todas las tablas llevan dos campos al final usr un varchar(20) y fmod un datetime.
En todos los registros de almacena el nick del usuario que modifica o crea y la fecha y hora en la que lohace.

2.- Todos los formularios de registro único, añaden un label que indica "Última moficiación efectuada por [fulano] el [dia y hora]"

3.- Hay una tabla en la base de datos de control que  almacena algo así como:

usuario: fulano
fecha: fecha y hora
tipo: Modifica Registro
Datos: nombre campo1: contenido grabado
          nombre campo2: contenido grabado
          nombre campo3: etc. etc.

Y por supuesto funciones estándar de grabación de la base de datos que hacen todo eso de forma automática.

El beneficio es doble: Por un lado disuade a los usuarios de hacer tonterías, sabiendo que todo queda registrado.
Por otro lado me ha servido para hacer seguimientos de responsabilidad y recuperación de datos en caso de desastre de datos en los servidores.
El objetivo para mí es la integridad y seguimiento de lo que ocurre con las bases de datos, no el control de los usuarios, pero se puede moficiar fácilmente.
Si te interesa puedo pasar algún código por si te vale.
Saludos.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Logs De Informacion (Registro De Eventos) 
 
No había visto la imagen que enlazas. Sí, lo que te digo es bastante parecido. te pongo la imagen de la consulta que se hace en una de mis aplicaciones (censurada, que son datos reales)

hlog

Lo que ocurre es que mi sistema está imbricado con mis aplicaciones, no es algo que puedas poner o quitar como si enlazaras un módulo o algo así.
Tienes que usar las funciones de grabación estándar que para ello creé. Por ejemplo, aquí tienes un extracto de la que uso para crear un registro:

Public sub creaRegistro(tabla As String, oContenedor As Object, Optional conec As Connection)

  Dim rsDatos As Result
  Dim lret As Variant
  Dim f As ResultField
  Dim cad As String
  Dim rs As Result

  lret = True
  If Not conec Then conec = mcomun.datos
  Try conec.Close
  Try conec.Open
  rsDatos = conec.create(tabla)
  rsDatos = pasacampos(oContenedor, rsDatos)
  Try rsDatos["usr"] = mcomun.usuario.nick          'Aquí se graba el usuario que modifica, se pone el try por si la tabla no contempla logs
  Try rsDatos["fmod"] = Now                                'Aquí se graba la fecha y hora de la modificación
   For Each f In rsdatos.Fields                               'Aquí se almacena con un bucle los nombres de los campos y los datos que se graban
      cad &= f.name & ": " & rsDatos[f.name] & "\n"
  Next
  rsDatos.Update
  conec.Commit
  mcomun.hlog("Añade en " & tabla, cad)                 'Aquí se llama a la función mcomun.hlog, que graba en la tabla de Log el rastro de la operación realizada

 Catch
    Message("Error: " & Error.Text & "\nEn: " & Error.where)

    
End


Es una función que recibe un objeto contenedor (normalmente un formulario) y crea con él (apoyándose en la función pasacampos que no te incluyo ahora) un registro en la base de datos. Puedes ver remarcado con comentarios lo que afecta al asunto que tratamos del log.

Espero que no sea demasiado complejo o caótica mi forma de programar.

Saludos
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Logs De Informacion (Registro De Eventos) 
 
Pura casualidad  

Hace 20 minutos agregue al repositorio svn un nuevo componente para la creación de logs. En la lista gambas-users envié una simple explicación de como usarlo. Con un poco de creatividad solo debes analizar las lineas por separado y dividir los datos en columnas. En caso de que no estés suscrito aqui puedes ver el email. Si no hablas ingles dime así lo traduzco.

Espero que se aproxime a lo que estabas buscando!
 



 
sebikul - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Logs De Informacion (Registro De Eventos) 
 
Citar:
Si no hablas ingles dime así lo traduzco.


Yo por  lo menos te lo agradecería, con el google traduce no me llego a enterar...  
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Logs De Informacion (Registro De Eventos) 
 
Muchas gracias por las referencias, probare...  
 



 
sanchezdenis19 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Logs De Informacion (Registro De Eventos) 
 
Perdón por la demora, pero recién ahora tengo tiempo para hacerlo. Solo he traducido las partes mas importantes.

Citar:

El componente provee una API flexible para el registro de eventos durante el tiempo de ejecución.

La salida por defecto es stdout, sin embargo, se puede redirigir a un archivo al crear una instancia de la clase Logger.

Provee 5 niveles de severidad: Critical, Error, Warning, Info, Debug

Se puede controlar la salida indicando el nivel mínimo de severidad requerido para que un mensaje sea impreso. Por ejemplo, si el nivel mínimo es Warning, solo Warning, Error y Critical son impresos (o guardados al archivo)

Al crear una instancia, se le puede pasar una cadena que le dice al Logger como van a estar formateados los mensajes. Una etiqueta se representa como $(TAG). La cadena por defecto es:

[$(now)] [$(levelname)] [$(callLocation)] $(message)

De esta forma, el mensaje "Starting logger" se vería de esta forma:

[05/20/2013 02:13:46.267] [WARNING] [MTest.Main.9] Starting logger

Las siguientes etiquetas están disponibles

$(message) : El mensaje pasado
$(callLocation) : La ubicación de donde se llamo al Logger. En la forma de FILE.FUNCTION.LINE (mira el ejemplo)
$(callLine) : Ídem anterior, pero solo el numero de linea.
$(callFile) : Ídem pero solo el nombre del fichero
$(callFunction) : Ídem pero solo el nombre de la función
$(now) : La fecha completa, equivalente a Now()
$(date) : La fecha según Date(Now)
$(time) : El tiempo según Time(Now)
$(ptimer) : El tiempo desde que se inicio la aplicación, con precisión en ms
$(ptimerint) : Ídem anterior pero con precisión en segundos
$(levelno) : El nivel de severidad del mensaje (entero)
$(levelname) : El nombre del nivel de severidad. Uno de: CRITICAL,ERROR, WARNING,INFO,DEBUG
$(version) : La versión de la aplicación
$(gbversion) : La versión del interprete de Gambas
$(host) : El hostname de la maquina
$(pid) : El pid del proceso

Usarlo es bastante simple

  Dim oDumb As New Logger
  oDumb("Starting logger")

 



 
sebikul - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Creación De Logs Para Aplicaciones Profes... soplo General 11 Viernes, 18 Diciembre 2009, 19:13 Ver último mensaje
soplo
No hay nuevos mensajes Obtener Informacion Desde Internet alan General 1 Lunes, 07 Marzo 2011, 02:24 Ver último mensaje
shordi
No hay nuevos mensajes Extraer Informacion Del Sistema Desde La T... tincho Shell Scripting 13 Domingo, 31 Enero 2016, 20:15 Ver último mensaje
vuott
No hay nuevos mensajes Logs Del Sistema Linux. Shell Mundo Linux 0 Jueves, 18 Octobre 2018, 13:55 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron