Como todos sabemos el trabajo de un programador no es perfecto y por eso, haciendo caso al refrán, es mejor prevenir que curar. Un buen desarrollador de software tendrá en cuenta crear un log para monitorizar aquellos errores de programación y de cualquier otro tipo que puedan suceder en la aplicacíón que se desarrolla.
Al respecto el programador tiene varias opciones:
- Crearse por sí mismo un sistema de control de errores dentro de su aplicación. Si es hábil podrá migrar este sistema a futuros desarrollos.
- Utilizar librerías ya implementadas que cubren la funcionalidad de control de errores.
En mi caso yo recomiendo ELMAH (Error Logging Modules and Handlers) que permite crear un sistema automático de guardado de errores y además crear la infraestructura (tablas y procedimientos en base de datos y librerías .Net) para utilizarlas como servicio de logging.
Este post intentará explicar cómo instalar y configurar ELMAH para una aplicación o sitio web en asp.net.
Paso 1. Descargar las librerías de ELMAH.
El primer paso que deberás hacer es descargarte las librerías de ELMAH en tu sitio web asp.net. Esto lo puedes hacer manualmente (en este enlace) o mediante el administrador de paquetes NuGet de Visual Studio (Menú Tools – Library Package Manager – Manage NuGet Packages for Solution…)
En la ventana emergente buscaremos en nuget.org (Online) con la palabra clave ELMAH y lo instalaremos en nuestra aplicación Web.
Una vez instalado veremos que nos ha referenciado algunas librerías nuevas y nos habrá modificado el web.config.
Paso 2. Ejecutar el script de la base de datos.
ELMAH puede utilizar una base de datos sqlserver para guardar los errores que se van generando. El siguiente paso será crear la estructura de la base de datos a través de un script que podremos descargar aquí.
Paso 3. Utilizar la monitorización de errores.
En este punto ya podremos ver una de las ventajas de ELMAH. Utilizaremos la url http://»misitio.com»/elmah.axd para monitorizar los errores por pantalla.
Por ejemplo,
si lanzamos una excepción manualmente en nuestro código…
lo ejecutamos y después de lanzado el error vamos a la url http://»misitio.com»/elmah.axd veremos una pantalla donde aparece lo siguiente:
Es útil, pero en este punto el error no se ha guardado en la base de datos, de hecho si no te interesa guardarlo en un almacenamiento persistente podrás saltarte el paso 2 y los siguientes.
Paso 4. Configurar la base de datos.
Para enlazar ELMAH con la base de datos es necesario indicarle cual es la cadena de conexión. Para ello deberemos ir al web.config y añadir la cadena de conexión dentro de la sección que define la etiqueta <elmah>
Si nos fijamos en la etiqueta errorLog, se le está indicando que para el tipo de módulo sqlerrorlog utilice la cadena de conexión con el nombre «DefaultConnection» que la hemos definido previamente en el web.config.
Si la cadena de conexión es correcta los errores se empezarán a guardar en este punto en la base de datos.
En futuros posts veremos algunas configuraciones extra que podemos utilizar con ELMAH como son el envío de mails, seguridad, etc…
GRAN APORTE!!!!
gracias sirvio de mucho…
lo unico que tuve que cambiar es en ves de conectionStringName tuve que poner conectionString =’mi cadena de coneccion’
y listo … sin embargo me facilitaste todo…
muchas gracias!!!!
Gracias a ti por tu comentario!