در این آموزش ASP.Net با C# نحوه ایجاد یک لاگ فایل متنی ساده در ASP.NET با استفاده از #C و VB.Net آموزش داده می شود.
ثبت خطاها ( exception ها) که در برنامه ASP.Net رخ می دهد در یک فایل متنی روند عیب یابی برنامه را راحت تر کرده و شما با باز کردن یک فایل تکست می توانید به راحتی به ایراد برنامه پی ببرید.
آموزش ASP.Net با C#
تگ های HTML
تگ HTML زیر که یک کنترل Button است یک استثناء تولید می کند.
<asp:Button Text="Click to Raise Exception" runat="server" OnClick="RaiseException"/>
فضا های نام
شما باید فضای نام زیر را اضافه کنید.
#C
using System.IO;
VB.Net
Imports System.IO
ایجاد فایل لاگ ساده متنی در آموزش ASP.Net با C#
رویداد زیر زمانی رخ می دهد که برروی Button کلیک شود و یک استثناء در تبدیل رشته به عدد صحیح در درون بلوک Try-Catch رخ خواهد داد.
استثناء تولید شده به وسیله بلوک Catch گرفته شده و تابع LogError فراخونی می شود.
در تابع LogError جزئیات استثناء در فایل متنی لاگ به همراه تاریخ و ساعت ثبت خواهد شد.
#C
protected void RaiseException(object sender, EventArgs e) { try { int i = int.Parse("Mudassar"); } catch (Exception ex) { this.LogError(ex); } } private void LogError(Exception ex) { string message = string.Format("Time: {0}", DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss tt")); message += Environment.NewLine; message += "-----------------------------------------------------------"; message += Environment.NewLine; message += string.Format("Message: {0}", ex.Message); message += Environment.NewLine; message += string.Format("StackTrace: {0}", ex.StackTrace); message += Environment.NewLine; message += string.Format("Source: {0}", ex.Source); message += Environment.NewLine; message += string.Format("TargetSite: {0}", ex.TargetSite.ToString()); message += Environment.NewLine; message += "-----------------------------------------------------------"; message += Environment.NewLine; string path = Server.MapPath("~/ErrorLog/ErrorLog.txt"); using (StreamWriter writer = new StreamWriter(path, true)) { writer.WriteLine(message); writer.Close(); } }
VB.Net
Protected Sub RaiseException(sender As Object, e As EventArgs) Try Dim i As Integer = Integer.Parse("Mudassar") Catch ex As Exception Me.LogError(ex) End Try End Sub Private Sub LogError(ex As Exception) Dim message As String = String.Format("Time: {0}", DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss tt")) message += Environment.NewLine message += "-----------------------------------------------------------" message += Environment.NewLine message += String.Format("Message: {0}", ex.Message) message += Environment.NewLine message += String.Format("StackTrace: {0}", ex.StackTrace) message += Environment.NewLine message += String.Format("Source: {0}", ex.Source) message += Environment.NewLine message += String.Format("TargetSite: {0}", ex.TargetSite.ToString()) message += Environment.NewLine message += "-----------------------------------------------------------" message += Environment.NewLine Dim path As String = Server.MapPath("~/ErrorLog/ErrorLog.txt") Using writer As New StreamWriter(path, True) writer.WriteLine(message) writer.Close() End Using End Sub
من محمد آذرنیوا، نویسنده و مدرس دوره های برنامه نویسی ، طراحی وب و تحلیل گر پایگاه داده هستم و قصد دارم در این وبسایت مطالب کاربردی در این زمینه را با شما به اشتراک بگذارم …