Cargando



Crear un log de errores en ASP.NET MVC

En este tutorial veremos cómo crear nuestro propio log de errores en una aplicación hecha con ASP.NET MVC.


nov 07 2014 02:30
Avanzado
nov 13 2014 15:46
Para llevar un buen control y mantenimiento de nuestra aplicación debemos estar conscientes de lo que sucede en ella, pero esto no quiere decir que debamos navegara en su totalidad todo el tiempo, simplemente necesitamos una manera de saber que errores están ocurriendo y si son muy frecuentes, con ello podremos tomar acciones correctivas.

Para saber la información que hemos mencionado no hay nada mejor que llevar un log de errores, con esto cada vez que ocurra una excepción podemos tener un archivo donde se registran y así poder saber dónde y cómo actuar para resolver el problema.

Opciones de log de errores


Tenemos varias opciones para hacer el log de errores, la más simple es crear un bloque try/catch y en la sección catch tomar el error y llevarlo a nuestro método que lo va a registrar, esto es muy útil cuando solo queremos estar al tanto de lo que sucede en pocas partes de la aplicación.

¿Por qué este enfoque no es el mejor?
Simplemente porque este enfoque es muy repetitivo, imaginemos tener que crear un bloque try/catch por cada una de las acciones de nuestra aplicación, nos inundaríamos de código innecesariamente.


Veamos cómo funciona este enfoque mencionado:

asp-log-errores.jpg


Vemos entonces como en nuestro bloque try hemos introducido un lanzamiento de excepción para forzar a la aplicación a caer en el bloque catch y aquí en este último hemos colocado el método LogException que llevará al archivo Log el error capturado.

Una mejor solución


Como casi siempre hay una mejor opción que nos permite trabajar menos, para el caso del log de errores tenemos una solución más óptima y esta consiste en sobrescribir el método onException() de nuestro controlador, de esta forma podremos hacer el log de errores de manera general para el controlador y así se capturan todos los errores que provengan de sus acciones.

Veamos en la siguiente imagen como puede quedar nuestro método sobrescrito:

asp-log-errores2.jpg


Si somos observadores notaremos que a pesar que el método luce casi igual al original hemos incorporado una línea donde aplicamos el método LogException() y le pasamos el contenido de la excepción o error que debe registrar; con esto nuestro controlador completo estará registrando todos los errores y excepciones que ocurran al momento de invocarlo en la aplicación.

¿Mucha más eficiencia?
A pesar que esta es una mejor solución, aún hay algo más eficiente y efectivo, se trata de colocar en un controlador base este tipo de acciones que deben repetirse, de esta forma solo debemos manejar un solo código base y no tendremos que escribir lo mismo una y otra vez, sobre todo si estamos manejando grandes aplicaciones.


Hemos visto cómo podemos incorporar el log de errores en nuestra aplicación en algunas formas, no debemos subestimar la importancia de esta herramienta ya que es una de las mejores formas de hacer debug, sobre todo en ambientes de producción donde no podemos permitirnos incorporar break points, entonces nuestra mejor opción es incorporar un log de errores el cual trabaja de forma silenciosa para darnos la información con la cual podremos mejorar el disfrute del usuario y mantener nuestra tranquilidad al mantener una aplicación funcional y segura.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X