Ich habe das gleiche getan, worüber Sie sprechen. Ich habe eine ErrorPage erstellt, die Informationen für den Benutzer anzeigt. Ich habe auch eine Funktion erstellt, die die Fehlerinformationen in die Ereignisprotokolle schreibt ...
Für die Seite, das ist, was ich tue. Legen Sie einfach die Etiketten dort irgendwo ...
protected void Page_Load(object sender, EventArgs e)
{
Exception ex = Server.GetLastError().GetBaseException();
this.lblMessage.Text = ex.Message;
this.lblSource.Text = ex.Source;
this.lblStackTrace.Text = ex.StackTrace;
if (AppProperties.AppEnv != AppEnvironment.PROD)
{
this.ErrorDetails.Visible = true;
}
else
{
this.ErrorDetails.Visible = false;
}
Utility.LogError();
Server.ClearError();
}
Dies ist, was die LogError Funktion sieht aus wie ...
public static void LogError()
{
LogError(HttpContext.Current.Server.GetLastError().GetBaseException());
}
public static void LogError(Exception ex)
{
EventLog log = new EventLog();
if (ex != null)
{
log.Source = ConfigurationManager.AppSettings["EventLog"].ToString();
StringBuilder sErrorMessage = new StringBuilder();
if (HttpContext.Current.Request != null && HttpContext.Current.Request.Url != null)
{
sErrorMessage.Append(HttpContext.Current.Request.Url.ToString() + System.Environment.NewLine);
}
sErrorMessage.Append(ex.ToString());
log.WriteEntry(sErrorMessage.ToString(), EventLogEntryType.Error);
}
}
Sollte ich denken, dass AppProperties und AppEnvironment eine benutzerdefinierte statische Klassen sind? Danke für die Antworten. – eKek0
Ja, tut mir leid ... AppProperties ist eine statische Klasse, die einige verschiedene Dinge wie meine Betriebsumgebung enthält. Ich zeige/verstecke Informationen basierend auf der Umgebung ... – RSolberg