Un blog con consejos y sugerencias sobre programación en Csharp que he aprendido a lo largo de los años

Mostrando entradas con la etiqueta Log. Mostrar todas las entradas
Mostrando entradas con la etiqueta Log. Mostrar todas las entradas

jueves, 17 de febrero de 2022

Escribe una entrada de log con toda la información relevante en un sencillo paso

febrero 17, 2022 Posted by Uriel Martínez No comments

No te canses escribiendo en LOG

Muchas veces requerimos escribir en un log para saber lo que sucede en nuestro sistema; ejemplo, en qué línea falló, el nombre de la función, la clase, el módulo, Etc.

Y sí te digo que existe una forma de hacerlo rápida, sencilla y que te ahorrará mucho tiempo en tú código?

Con la siguiente función obtendremos toda la información relevante de nuestro evento. 


¿Cómo  funciona?

Fácil, utilizamos la REFLECTION  en NET, que es la técnica que en tiempo de ejecución que podemos usar para crear dinámicamente una instancia de un tipo, vincular el tipo a un objeto existente u obtener el tipo de un objeto existente e invocar sus métodos o acceder a sus campos y propiedades. Si estás utilizando atributos en tu código, la reflexión le permite acceder a ellos como es este caso.


Por último debemos utilizar nuestra nueva función fácil y rápido


Un ejemplo de log sería:

C:\Users\XXX\Documents\Github\XXX\CapaNegocio\Operaciones.cs. 1492. CapaNegocio.Operaciones.ExisteCliente. No hay resultados con la operación

Es todo!!!

Espero te sea de ayuda y gracias por visitar mi blog

miércoles, 9 de febrero de 2022

EventLogTraceListener, la forma más fácil de escribir log en el visor de sucesos de Windows

febrero 09, 2022 Posted by Uriel Martínez , , No comments

 Utiliza el Visor de eventos de Windows como es debido en tus aplicaciones


Existen muchas formas de escribir un LOG  utilizando el visor de eventos de Windows, pero sabes que existe ya una forma correcta y probada de hacerlo sin tener problemas de escritura, encolamiento o bajo rendimiento?

.NET ya tiene una clase y proceso que lo simplifica por ti. Aquí te muestro cómo hacerlo:

1.- Te presento EventLogTraceListener. Para tenerlo disponible en todo tu proyecto puede utilizar la bondad de una clase estática e instanciamos nuestro objeto de la siguiente forma:

2.- El paso que sigue es inicializarlo, para eso utilizamos una función también estática que se podrá usar solo una vez en LOAD de tu programa, ahí usaremos la clase que hace TODA la magia llamada Trace que se encuentra en el namespace System.Diagnostics


3.- De  esta forma tenemos todo listo para poder escribir en el visor de sucesos, lo único que nos hace falta es una pequeña función que solicite lo que se va a escribir


Obviamente necesitamos nuestro enumerado LogType para saber si es informativo, alerta o error



ES TODO!, ahora lo único que debemos hacer es llama a nuestra funcion Log y escribir desde cualquier parte de nuestro sistema  

Recuerda que no es necesario querer inventar siempre las cosas, existen ya muchas funciones que hacen lo que deseas solo hay que buscar un poco.