I have code(It is found in the Internet) to handle application error. I wrote in Event Log.
void Application_Error(object sender, EventArgs e)
{
Exception myError = null;
if (HttpContext.Current.Server.GetLastError() != null)
{
string eventLog = "MySite";
string eventSource = "www.mysite.com";
string myErrorMessage = "";
myError = Server.GetLastError();
while (myError.InnerException != null)
{
myErrorMessage += "Message\r\n" +
myError.Message.ToString() + "\r\n\r\n";
myErrorMessage += "Source\r\n" +
myError.Source + "\r\n\r\n";
myErrorMessage += "Target site\r\n" +
myError.TargetSite.ToString() + "\r\n\r\n";
myErrorMessage += "Stack trace\r\n" +
myError.StackTrace + "\r\n\r\n";
myErrorMessage += "ToString()\r\n\r\n" +
myError.ToString();
myError = myError.InnerException;
}
if (EventLog.SourceExists(eventSource))
{
EventLog myLog = new EventLog(eventLog);
myLog.Source = eventSource;
myLog.WriteEntry("An error occurred in the Web application "
+ eventSource + "\r\n\r\n" + myErrorMessage,
EventLogEntryType.Error);
}
}
}
This is lines from Event Log:
Type Date Time Source Event Category
Error 03.04.2012 16:44:41 www.mysite.com 0 "An error occurred in the Web application www.mysite.com
"
Error 03.04.2012 16:43:31 www.mysite.com 0 "An error occurred in the Web application www.mysite.com
"
Error 03.04.2012 16:42:56 www.mysite.com 0 "An error occurred in the Web application www.mysite.com
"
Error 03.04.2012 16:42:56 www.mysite.com 0 "An error occurred in the Web application www.mysite.com
"
Error 03.04.2012 16:42:54 www.mysite.com 0 "An error occurred in the Web application www.mysite.com
"
Error 03.04.2012 16:37:27 www.mysite.com 0 "An error occurred in the Web application www.mysite.com
“
As you noted an error occurs approximately once in a second. But information about an error the empty.
What is wrong with this code?
Thanks.
The problem is in this line imo
You write the detail of the error only if there is a innerexception, but it’s not always true
You also forgot to call
At the end of your processing (but I guess it’s a choice)