在本文中,我将使用一个简单的类,用于将 ASP.NET 应用程序中发生的错误和异常写入文本文件格式。
下面我创建了一个名为 Common 的类,其中包含一个名为 WriteToEventLog 的函数,该函数接受 Exception 作为参数。
public class Common
{
public static void WriteToEventLog(Exception exception)
{
string sPath = “~/error/” + DateTime.Today.ToString(”dd-mm-yy”) + “.txt”;
if (!File.Exists(System.Web.HttpContext.Current.Server.MapPath(sPath)))
{
File.Create(System.Web.HttpContext.Current.Server.MapPath(sPath)).Close();
}
StreamWriter objStreamWriter = File.AppendText(System.Web.HttpContext.Current.Server.MapPath(sPath));
{
objStreamWriter.WriteLine(”\r\n日志条目:“);
objStreamWriter.WriteLine(”{0}”, DateTime.Now.ToString(CultureInfo.InvariantCulture));
string sError = “错误发生在: ” + System.Web.HttpContext.Current.Request.Url.ToString() +
“. 错误信息:\n” + exception.Message;
objStreamWriter.WriteLine(sError);
objStreamWriter.WriteLine(”__________________________”);
objStreamWriter.Flush();
objStreamWriter.Close();
}
}
}
现在我们的类已经准备好,你只需要在 try-catch 块中调用它,如下所示…
protected void Page_Load(object sender, EventArgs e)
{
try
{
if (!IsPostBack)
{
if (User.HasUserLoggedIn())
{
UpdateTotal();
}
else
{
Response.Redirect(”~/pages/MessagePage.aspx?ConfigValue=MsgUserNotLoggedIn”, false);
}
}
}
catch (Exception ex)
{
Common.WriteToEventLog(ex);
}
}