Guardar un archivo Log con VB.Net

A veces es 煤til tener una bit谩cora (log) de lo que va haciendo el programa que vamos desarrollando, sin necesidad de estar depurando o haciendo un paso a paso, simplemente dejar que el programa se ejecute y al final revisar los “errores” o los procesos que termin贸 satisfactoriamente, aqu铆 pongo una funci贸n que permite llevar eso, y que pues resulta 煤til al final

 

Public Shared Sub Log(ByVal sPathName As String, ByVal sMsg As String, Optional ByVal MostrarMsgBox As Boolean = True, Optional ByVal TipoDeMsgBox As MessageBoxIcon = MessageBoxIcon.Information)
ErrorLog(sPathName, sMsg)
If (MostrarMsgBox = True) Then
MessageBox.Show(sMsg, “Cuadro de Mensajes”, MessageBoxButtons.OK, TipoDeMsgBox)
End If
End Sub

Public Shared Sub ErrorLog(ByVal sPathName As String, ByVal sErrMsg As String)
Try
Dim sYear As String = DateTime.Now.Year.ToString()
Dim sMonth As String = DateTime.Now.Month.ToString()
Dim sDay As String = DateTime.Now.Day.ToString()
sErrorTime = sYear + sMonth + sDay + Form1.Pais

sLogFormat = DateTime.Now.ToShortDateString().ToString() + ” ” + DateTime.Now.ToLongTimeString().ToString() + ” ==> ”

Dim sw As System.IO.StreamWriter = New System.IO.StreamWriter(sPathName.Replace(“.”, “.” + sErrorTime + “.”), True)
sw.WriteLine(sLogFormat + sErrMsg)
sw.Flush()
sw.Close()

Catch ex As Exception
Dim fi As System.IO.FileInfo = New System.IO.FileInfo(sPathName)
System.IO.Directory.CreateDirectory(fi.DirectoryName)
ErrorLog(sPathName, sErrMsg)
End Try

End Sub

y para llamarla solamente ponemos en nuestro codigo:

Try

‘Aqu铆 va tu proceso completo…

Log(DirDelLog, String.Format(“Termin贸 proceso -:'{0}'”, variableproceso), False)
Catch ex As Exception
Log(DirDelLog, String.Format(“Error聽 – ‘{0}'”, ex.Message), False)
End
End Try

Las variables que le mandas a tu funci贸n son:

DirDelLog – que lo puedes obtener simplemente con :

Public Shared DirDelLog As String = IO.Path.GetDirectoryName(Application.ExecutablePath) + “\Logs\Log.txt”

una varible String – que es el mensaje de error

Bandera聽 – True si quieres que te mande un聽MessageBox聽o false si solamente quieres que lo escriba en el log m谩s no te mande la ventanita del mensaje.

Espero sea de utilidad


4 comments

Leave a Reply

Your email address will not be published.

Para evitar SPAM realiza la siguiente operaci贸n: *