Классический ASP - отлов ошибок - PullRequest
0 голосов
/ 14 августа 2011

Я работаю над сайтом и, чтобы помочь отловить ошибки, о которых мы можем не слышать, я создал пользовательскую страницу ошибок 500.

Эта страница в основном записывает информацию о текущей ситуации и регистрирует еевключая следующее:

Request.Servervariables("URL")

Но в журнале, по-видимому, фактически содержится информация о местонахождении файла error.asp вместо фактического файла, вызвавшего ошибку.И он, похоже, не подхватывает Server.GetLastError ().

Любые идеи о том, как обеспечить, чтобы эти сценарии обрабатывали ошибки и детали о странице, вызывающей ошибку, а не о той странице, которая используется для 500ошибки?

ПРИМЕЧАНИЕ. При возникновении ошибки URL-адрес в адресной строке всегда является адресом страницы, вызвавшей ошибку, но в журнале отображается страница обработчика ошибок «error.asp».

1 Ответ

0 голосов
/ 15 августа 2011

Я бы следовал тому, что сказал Ди, но также знал, что с IIS7 (или 7.5) было что-то привередливое. Я не могу точно вспомнить, но вы должны сделать что-то особенное, чтобы убедиться, что он работает на IIS7. Проверьте эту статью . IIS7 ломает server.getlasterror, и существует обходной путь.

Еще одна крутая вещь, которую нужно сделать - это отправить себе по электронной почте эти ошибки. Так что в вашем собственном скрипте на 500 asp просто отправьте письмо с подробностями. Зависит от того, насколько критичны ошибки в вашей программе, но лучше быть в цикле, а не беспокоиться о другом журнале.

...