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.PaissLogFormat = 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 TryEnd 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
Gracias, es lo que estaba buscando, simple y util
Excelente, muchas gracias, me fue de gran utilidad. Saludo…
hola puedes ponerlo en un rar?
Eficiente, sin muchos recursos hace lo que debe. Gracias