Membuat Log Error Dengan VB.NET

Ketika membuat aplikasi,seringkali kita mengalami bug yang tidak terduga. Kondisi sistem di pc tempat aplikasi dibuat dan sistem di server yang berbeda bisa menimbulkan bug yang tidak terduga. Yang menjadi masalah, ketika client yang menemukan bug tersebut tidak bisa mendeskripsikan error yang terjadi. Program berikut untuk membuat log file yang menyimpan error yang terjadi di aplikasi. Dan juga menampilkan pesan di label, sehingga tidak muncul ‘layar kuning’.

Buat Class

Imports Microsoft.VisualBasic

Namespace CreateErrorLog
    Public Class ErrorLog

        Private _message As String
        Private _sourceError As String
        Public ReadOnly LogFile As String = System.Configuration.ConfigurationManager.AppSettings("LogPath").ToString()

        Public Sub New(ByVal e As Exception)
            _message = e.Message
            _sourceError = e.StackTrace
        End Sub

        ''' <summary>
        ''' Inisialisasi
        ''' </summary>
        ''' <param name="e">System.Exception</param>
        ''' <param name="errMessage">Jika ingin pesan yang ditampilkan berbeda dengan pesan yang di hasilkan exception</param>
        ''' <remarks></remarks>
        Public Sub New(ByVal e As Exception, ByVal errMessage As String)
            _message = errMessage
            _sourceError = e.StackTrace
        End Sub

        Public Property Message() As String
            Get
                Return _message
            End Get
            Set(ByVal value As String)
                _message = value
            End Set
        End Property

        Public Property SourceError() As String
            Get
                Return _sourceError
            End Get
            Set(ByVal value As String)
                _sourceError = value
            End Set
        End Property

        ''' <summary>
        ''' Menampilkan pesan error di label
        ''' </summary>
        ''' <param name="lb">Label Control yang menampilkan teks di web page</param>
        ''' <remarks></remarks>
        Public Sub ShowOnLabel(ByVal lb As Label)
            lb.Text = _message
        End Sub

        ''' <summary>
        ''' Menyimpan pesan error di file log
        ''' </summary>
        ''' <remarks></remarks>
        Public Sub CreateLogFile()
            Dim namaFile As String = String.Format("Log{0}{1}{2}", DateTime.Now.Month.ToString(), DateTime.Now.Day.ToString(), DateTime.Now.Year.ToString())
            Dim reportFormat As String = String.Format("{0};{1};Source:{2}", DateTime.Now.ToString(), _message, _sourceError)

            Dim sw As IO.StreamWriter
            sw = New IO.StreamWriter(LogFile & namaFile, True)

            sw.WriteLine(reportFormat)
            sw.Flush()
            sw.Close()
        End Sub
    End Class
End Namespace

Tambahkan kode berikut di Web.Config, untuk menentukan dimana lokasi file log dibuat. Misalnya seperti berikut ini

<appSettings>
     <add key="LogPath" value="E:\aNdi\latian\ErrorLog\Log\"/>
</appSettings>

Penerapan

Try
    ' lakukan sesuatu disini

Catch ex As Exception
    'Jika terjadi error
    Dim err As New CreateErrorLog.ErrorLog(ex)
    err.ShowOnLabel(lberrorMsg)
    err.CreateLogFile()
End Try

Semoga bermanfaat

About Yuniar

Penulis sekarang lebih banyak bekerja menggunakan teknologi Microsoft .NET secara umum dan TIDAK lagi menggunakan aplikasi MapXtreme.net dari MapInfo. Karena itu mohon maaf, jika pertanyaan-pertanyaan mengenai MapXtreme sudah tidak bisa saya jawab lagi.

Posted on 23 Agustus 2010, in .NET and tagged , , . Bookmark the permalink. Tinggalkan komentar.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: