En este post vamos a ver como crear un archivo de Log para una aplicación vb.net que vaya escribiendo cualquier cosa que deseemos en un archivo de texto en la ubicación que queramos.
Primero definimos una variable del tipo streamwriter
Dim swLog As System.IO.StreamWriter
En nuestro programa, cada vez que queramos escribir algo en el log lo llamamos así:
EscribirLog("-------------ERROR----------------------------")
EscribirLog("Se ha producido un error: " & ex.Message & Now())
EscribirLog(strVariable_con_la_información_a_mostrar
& " Texto fijo - " & Now())
EscribirLog("-----------------------------------------")
Finalmente las definiciones de para crear el log son estas. Al comienzo del programa llamaremos a AbrirLog, cuando queramos escribir llamamos a EscribirLog y cuando finalice el programa lo cerramos con CerrarLog.
Sub AbrirLog()
Dim strMisDocumentos As String
strMisDocumentos =
System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
If Not System.IO.Directory.Exists(strMisDocumentos
& "\" & "Logs") Then
System.IO.Directory.CreateDirectory(strMisDocumentos
& "\" & "Logs")
End If
swLog = New System.IO.StreamWriter(strMisDocumentos
& "\Logs\" &
Now.ToString("yyyyMMddHHmmss") & ".txt")
EscribirLog("Usuario: " &
Environment.UserName & " Maquina: " & Environment.MachineName)
EscribirLog("")
EscribirLog("-----------------------")
EscribirLog(" COMIENZO
PROCESO")
EscribirLog("-----------------------")
EscribirLog("")
EscribirLog(Now.ToString("dd/MM/yyyy HH:mm:ss") & " - Inicio del proceso")
End Sub
Sub CerrarLog()
EscribirLog(Now.ToString("dd/MM/yyyy HH:mm:ss") & " - Fin del proceso")
EscribirLog("")
EscribirLog("------------------------------------")
EscribirLog("FIN PROCESO")
EscribirLog("-------------------------------------")
EscribirLog("")
If Not swLog Is Nothing Then
swLog.Close()
End If
swLog = Nothing
End Sub
Sub EscribirLog(ByVal texto As String)
If Not swLog Is Nothing Then
swLog.WriteLine(texto)
swLog.Flush()
Console.WriteLine(texto)
End If
End Sub
Gracias !
ResponderEliminar