Escribe tu log de errores en un archivo.

Si por alguna razon tienes la necesidad de escribir los errores que genera tu aplicacion en un archivo .txt este codigo puede ser de utilidad.

 

Public Class LogError

#Region “Write To HD Functions”

    ”’ <summary>
    ”’ Description: Write to Hd the Errors
    ”’ Date       : 26/2/2007
    ”’ Revisions  : Emilio Vicente Martinez Vazquez
    ”’ </summary>
    ”’ <param name=”Text”></param>
    ”’ <remarks></remarks>
    Public Shared Sub WriteFile(ByVal Text As String)
        Dim strStream As System.IO.Stream
        Dim strStreamWriter As System.IO.StreamWriter = Nothing
        Dim strStreamReader As System.IO.StreamReader = Nothing
        Dim str As String = Nothing

        Try

            Dim FilePath As String = AppDomain.CurrentDomain.BaseDirectory.ToString() + “SurveyLog.txt”

            If System.IO.File.Exists(FilePath) = True Then
                strStreamReader = System.IO.File.OpenText(FilePath)
                str = strStreamReader.ReadToEnd()
                strStreamReader.Close()
            End If

            strStream = System.IO.File.OpenWrite(FilePath)
            strStreamWriter = New System.IO.StreamWriter(strStream, _
                             System.Text.Encoding.UTF8)

            If str = “” Then
                strStreamWriter.WriteLine(DateTime.Now.ToString)
                strStreamWriter.WriteLine(Text)
            Else

                str = str + Text
                strStreamWriter.WriteLine(str)
                strStreamWriter.WriteLine(DateTime.Now.ToString)
                strStreamWriter.WriteLine(” “)
                strStreamWriter.WriteLine(” “)
                strStreamWriter.WriteLine(” “)
            End If

            strStreamWriter.Close()

        Catch ex As Exception
            strStreamWriter.Close()
            strStreamReader.Close()
        End Try
    End Sub
#End Region
   
End Class

4 comentarios en “Escribe tu log de errores en un archivo.”

  1. No quiero pecar de resabido, pero cargar el contenido de todo el fichero en un string para volver a escribirlo ¿no es un poco ineficiente?

    Yo utilizo esto, a lo mejor estoy equivocado, pero creo que es más optimo.

    If Not String.IsNullOrEmpty(sTexto) Then
    Dim sFileLog As New System.IO.StreamWriter(Application.StartupPath & “fichero.log”, True)
    sFileLog.WriteLine(Date.Now.ToString & “·” & “: ” & sTexto)
    sFileLog.Close()
    End If

  2. Yo empece tb escribiendo una clase para crear un log, hasta q encontre log4net, es realmente potente.
    Permite almacenar el log, en ficheros de texto, que se empiece a crear un log cuando sobre pasa determinado peso, almacenarlo en una determinada base de datos, enviar un email con el log etc… Hasta si no te sirven los logs implementados puedes crearlo simplemente implementando una determinada interfaz…

    Vivan los ports! 😉

  3. Pues otra opcion es EntLib, puedes desterminar el tipo de repositorio para el log (archivo de texto, base de datos, MSMQ, mail, etc) y además tiene mil opciones dependiendo el caso.

    Saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *