Aprende en casa Ir a KODOTI
Aprende en casa KODOTI

Creando un log de errores

Veremos como implementar un simple log de errores con C#.

Rodríguez Patiño, Eduardo
Rodríguez Patiño, Eduardo
2020-07-07 | 8,840 lecturas

En esta oportunidad vamos a ver como crear una clase que nos permita gestionar errores y crear un fichero que sea guardado en un log.

Debemos agregar las siguientes referencias

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.IO;
using System.Diagnostics;
public class ELog
{
    public static void save(object obj, Exception ex)
    {
        string fecha = System.DateTime.Now.ToString("yyyyMMdd");
        string hora = System.DateTime.Now.ToString("HH:mm:ss");
        string path = HttpContext.Current.Request.MapPath("~/log/" + fecha + ".txt");

        StreamWriter sw = new StreamWriter(path, true);

        StackTrace stacktrace = new StackTrace();
        sw.WriteLine(obj.GetType().FullName + " " + hora);
        sw.WriteLine(stacktrace.GetFrame(1).GetMethod().Name + " - " + ex.Message);
        sw.WriteLine("");

        sw.Flush();
        sw.Close();
    }
}

Esta clase ELog tiene un método save el cual nos indica que debemos enviarle un object y la exception ocurrida. Explicamos el primer parámetro le diremos en que Clase ocurrió el error, y en el otro obtendremos el detalle del error.

Importante: en la raíz de nuestro proyecto debemos agregar una carpeta llamada log.

Ejemplo:

class ProductoModel
{
    public List Listar()
    {
        try
        {
            // Mi lógica
        }
        catch(Exception e)
        {
            ELog.save(this, e);
        }
    }
}

Por lo tanto en el bloque catch le estoy indicando que si sucede algún error, que envié primero la instancia de la clase actual, y como siguiente parámetro la exception mostrando un error parecido a esto.

ProductoModel 23:25:00
Listar – Ocurrio un error de sintaxis en la base de datos.


Estudia con nosotros

🚀 Mejora tus oportunidades laborales