![]() |
Monitor de eventos usando una clase
Buenas colegas. aqui tengo otra experiencia que quiero compartir con ustedes.
Para la mayoria de mis proyectos, necesito hacer un monitoreo de los eventos que sucede durante la ejecución. de esta forma puedo depurar mas los errores encontrados. En esta oportunidad, mi clase monitoreo para ustedes.
Desde ya, gracias por la atencion. saludos cordiales. |
muy interesante :), y como lo aplicas?? :o perdona mi ignorancia
|
Hola, me podrias explicar como utilizar este log de eventos, por favor
Gracias |
Tener una forma de logear eventos es algo critico en una aplicacion. Desde hace un par de años he implementado la practica y es algo muy bueno en especial para detectar post-morten que paso con un error o problema.
Hay varias opciones en Delphi: http://stackoverflow.com/questions/8...age-for-delphi http://stackoverflow.com/questions/7...rary-is-better Esta opcion open source de Synapse parece buena http://blog.synopse.info/post/2011/0...-in-SynCommons La idea es que insertas miles y miles de llamadas al log (si: Cuando logeas, mas es mejor!. Solo hay que tener cuidado a la hora de invocar funciones con efectos colaterales que pudieran corromper las cosas ie: No invocar una insercion en BD, modificacion archivos, etc)
Resultado: Código PHP:
Luego de experimentar mucho, he llegado a un estilo que me permite injectar multiples logeadores y notificadores (por ejemplo, tengo llamadas a un servicio que me guarda la info de desempeño, memoria, CPU del codigo para ver si la APP esta corriendo por debajo de lo usual, y otros sensores de datos). Lo que he hecho es tener una libreria llamada "notify" que me encapsula todo. Esta en python, pero la idea es masomenos: Notificador por GROWL, que puede o no estar instalado Código PHP:
Código PHP:
Código PHP:
Código PHP:
Es mucho mas centralizado de lo que muestro, es para que quede mas claro la idea. Eso quiere decir que cuando llamo: Código PHP:
1- Se va el error a la consola DOS/terminal *nix (si la app corre en consola) 2- Se guarda en un archivo log, que se rota cada 7 dias 3- Se envia (si es posible) el error a loggy 4- Se notifica por email al usuario que el servidor a fallado (porque puede que el servidor este en un equipo lejano) 5- Se envia por growl el error (si esta instalado, por ejemplo, se corre la app en la maquina del usuario, no tienen equipo servidor aparte) |
gracias por la explicacion, :)
|
Si, gracias...ahora me daré de cabezazos para tratar de entender un poco!!:confused:
Gracias^\||/ |
La franja horaria es GMT +2. Ahora son las 06:31:15. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi