---
title: "visa en error-sida."
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/115008-visa-en-error-sida"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "MagnusJ"
published: "2004-11-03T13:21:24.000Z"
updated: "2004-11-04T17:03:04.000Z"
replies: 9
views: 359
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/115008-visa-en-error-sida"
---

# visa en error-sida.

## #1 — MagnusJ, 2004-11-03T13:21Z

Har för mig att jag har läst någonstans att man i web.config kan göra så att man ställer in en speciellsida som ska visas när blir fel någonstans, hur gör man det? Eller det kanske finns något bättre sätt att göra sånt på, kan man logga felen på nått sätt?

Permalänk: https://www.webforum.nu/p/115008

## #2 — Pace, 2004-11-03T14:42Z

Du kan logga felen i din global.asax, under Application_Error.

I web.config kan du lägga till följande taggar (customErrors):

```
<?xml version="1.0" encoding="iso-8859-1" ?>
<configuration>
	<system.web>
		<customErrors defaultRedirect="/error500.html" mode="RemoteOnly">
			<error statusCode="404" redirect="/error404.html" />
			<error statusCode="500" redirect="/error500.html" />
		</customErrors>
	</system.web>
</configuration>
```

Notera att det såklart endast gäller ASP.NET-filer. Övriga filer, såsom HTML-filer, måste mappas till .NET-processen i IIS om du vill kunna kontrollera dem i web.config. Annars ställer du in 404 som vanligt i IIS.

Permalänk: https://www.webforum.nu/p/1475238

## #3 — MagnusJ, 2004-11-03T15:21Z

Okej.

Sökte efter Application_Error på google och hittade den här artikeln: <http://www.developer.com/net/asp/article.php/10917_961301_1>
Har en fråga om den, jag fattade inte vad Windows 2000 Event Log är. Är det något som finns i IIS? Går det att använda om man har sidan på ett webbhotell och inte har tillgång till "server-filerna"?

Permalänk: https://www.webforum.nu/p/1475256

## #4 — Pace, 2004-11-03T15:51Z

Event log är detsamma som datorns loggbok. Där samlas alla fel, varningar och liknande. Du hittar den under Kontrollpanelen \> Administrationsverktyg \> Loggboken.

På ett webbhotell har du normalt sett inte tillgång till loggboken. Då kan du exempelvis logga alla filerna till en fil på webbservern i stället, alternativt en databas.

Permalänk: https://www.webforum.nu/p/1475269

## #5 — MagnusJ, 2004-11-03T16:26Z

Okej. 

```

		void Application_Error(object sender, EventArgs e)
		{
			Exception ex = Server.GetLastError().GetBaseException();
			StreamWriter sw = null;
			try
			{
				FileStream fs = new FileStream( Server.MapPath("error_log.txt"), FileMode.OpenOrCreate, FileAccess.Write );
				sw = new StreamWriter( fs, System.Text.Encoding.UTF8 );
				sw.Write("Test Web",
				"MESSAGE: " + ex.Message + 
				"\nSOURCE: " + ex.Source +
				"\nFORM: " + Request.Form.ToString() + 
				"\nQUERYSTRING: " + Request.QueryString.ToString() +
				"\nTARGETSITE: " + ex.TargetSite +
				"\nSTACKTRACE: " + ex.StackTrace, 
				EventLogEntryType.Error);
			}
			catch (Exception ex)
			{
				throw ex;
			}
			finally
			{
				if (sw != null)
					sw.Close();
			}
```

 

Så det blir nått sånt där?

Permalänk: https://www.webforum.nu/p/1475282

## #6 — Pace, 2004-11-03T22:09Z

Japp.

Notera dock att Server.MapPath("error_log.txt") kommer att lägga filen i den mapp där felet uppstod (alltså relativt till roten, till exempel /nyheter/ eller kanske /artiklar/). Om du vill lägga filen i roten av din applikation, ange Server.MapPath("\~/error_log.txt") i stället.

Permalänk: https://www.webforum.nu/p/1475493

## #7 — MagnusJ, 2004-11-04T13:34Z

Okej. 

EventLogEntryType.Error visst har den någonting med EventLog att göra? Att den skriver in felmeddelandet där. Ska jag bara skita i den eller måste jag ersätta den med något?

Permalänk: https://www.webforum.nu/p/1475799

## #8 — MagnusJ, 2004-11-04T14:07Z

Hmm, det enda som skrivs ut i logfilen är Test Web. Vad kan det bero på?

Permalänk: https://www.webforum.nu/p/1475823

## #9 — Pace, 2004-11-04T15:07Z

Du har förmodligen inte konkantenerat (slagit ihop) strängarna ordentligt.

Permalänk: https://www.webforum.nu/p/1475862

## #10 — MagnusJ, 2004-11-04T17:03Z

> **Pace skrev:**
>
> Du har förmodligen inte konkantenerat (slagit ihop) strängarna ordentligt.

Menar du det här?

```
				sw.Write("Test Web",
				"MESSAGE: " + ex.Message + 
				"\nSOURCE: " + ex.Source +
				"\nFORM: " + Request.Form.ToString() + 
				"\nQUERYSTRING: " + Request.QueryString.ToString() +
				"\nTARGETSITE: " + ex.TargetSite +
				"\nSTACKTRACE: " + ex.StackTrace);
```

 

Jag har kollat och kollat och jag ser inget fel, jag har kanske tittat mig blind. Ser ni något galet?

EDIT:
Kom och tänka på, kan det vara det här som är fel

```
Exception ex = Server.GetLastError().GetBaseException();
```

 
Så att den inte har något felmeddelande att skriva ut?

Permalänk: https://www.webforum.nu/p/1475912

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/115008-visa-en-error-sida
