ایجاد فایل لاگ ساده در ASP.NET با استفاده از C# و VB.Net

در این آموزش 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

دانلود کدها

آموزش ASP.Net با C#

ورکشاپ رایگان دوره های تخصصی برنامه نویسی

شما این فرصت را دارید، با تکمیل فرم زیر، قبل از انتخاب دوره آموزشی مناسب خود، در ورکشاپ رایگان دوره های تخصصی برنامه نویسی شرکت کنید
  • این فیلد برای اعتبار سنجی است و باید بدون تغییر باقی بماند .

درباره‌ی محمد آذرنیوا

من محمد آذرنیوا، نویسنده و مدرس دوره های برنامه نویسی ، طراحی وب و تحلیل گر پایگاه داده هستم و قصد دارم در این وبسایت مطالب کاربردی در این زمینه را با شما به اشتراک بگذارم ...

همچنین ببینید

الگوی ریپوزیتوری ( Repository Pattern ) در ASP.NET MVC

در این مقاله ، در مورد الگوی ریپوزیتوری (Repository Pattern ) که اغلب برای ایجاد برنامه …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *