Bem, fazendo uma pesquisa na internet achei algo
que realmente me pareceu ser bem interessante…
E gostaria de saber da comunidade, se alguem tem uma
solução voltada para Desktop no mesmo sentido.
protected void Application_Error(object sender, EventArgs e)
{
HttpContext ctx = HttpContext.Current;
Exception exception = ctx.Server.GetLastError();
StringBuilder str = new StringBuilder();
str.Append("Error: "+exception.Message.ToString());
str.Append("\r\n Details: "+ exception.InnerException.Message.ToString());
str.Append("\r\n URL: " + Request.Url.AbsoluteUri.ToString());
str.Append("\r\n Stack Trace: " + exception.InnerException.StackTrace.ToString());
str.Append("\r\n Request Host: " + Request.UserHostAddress.ToString());
str.Append("\r\n Host Name: " + Request.UserHostName.ToString());
str.Append("\r\n User Agent: " + Request.UserAgent.ToString());
str.Append("\r\n URL Referrer: " + Request.UrlReferrer.ToString());
str.Append("\r\n UserName: " + Request.LogonUserIdentity.Name.ToString());
str.Append("\r\n Method: " + exception.TargetSite.ToString());
str.Append("\r\n Source: " + exception.Source.ToString());
// Compose Email
MailMessage msg = new MailMessage();
msg.From = new MailAddress("email automatico do sistema");
msg.To.Add("seu-email");
msg.Subject = "Error occurred in personal website application";
msg.IsBodyHtml = true;
msg.Body = str.ToString();
SmtpClient smtp = new SmtpClient();
smtp.Send(msg);
String LogName = "Application";
if (!EventLog.SourceExists(LogName))
{
EventLog.CreateEventSource(LogName, LogName);
}
// Insert into Event Log
EventLog Log = new EventLog();
Log.Source = LogName;
Log.WriteEntry(str.ToString(), EventLogEntryType.Error);
ctx.Server.ClearError();
}
O link deste material se encontra em: http://imasters.uol.com.br/artigo/15878/dotnet/detectando_erro_a_todo_custo/
Grato pela atenção.