diff options
Diffstat (limited to 'parts/django/docs/howto/error-reporting.txt')
-rw-r--r-- | parts/django/docs/howto/error-reporting.txt | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/parts/django/docs/howto/error-reporting.txt b/parts/django/docs/howto/error-reporting.txt deleted file mode 100644 index 9c61c97..0000000 --- a/parts/django/docs/howto/error-reporting.txt +++ /dev/null @@ -1,78 +0,0 @@ -Error reporting via e-mail -========================== - -When you're running a public site you should always turn off the -:setting:`DEBUG` setting. That will make your server run much faster, and will -also prevent malicious users from seeing details of your application that can be -revealed by the error pages. - -However, running with :setting:`DEBUG` set to ``False`` means you'll never see -errors generated by your site -- everyone will just see your public error pages. -You need to keep track of errors that occur in deployed sites, so Django can be -configured to e-mail you details of those errors. - -Server errors -------------- - -When :setting:`DEBUG` is ``False``, Django will e-mail the users listed in the -:setting:`ADMINS` setting whenever your code raises an unhandled exception and -results in an internal server error (HTTP status code 500). This gives the -administrators immediate notification of any errors. The :setting:`ADMINS` will -get a description of the error, a complete Python traceback, and details about -the HTTP request that caused the error. - -.. note:: - - In order to send e-mail, Django requires a few settings telling it - how to connect to your mail server. At the very least, you'll need - to specify :setting:`EMAIL_HOST` and possibly - :setting:`EMAIL_HOST_USER` and :setting:`EMAIL_HOST_PASSWORD`, - though other settings may be also required depending on your mail - server's configuration. Consult :doc:`the Django settings - documentation </ref/settings>` for a full list of email-related - settings. - -By default, Django will send e-mail from root@localhost. However, some mail -providers reject all e-mail from this address. To use a different sender -address, modify the :setting:`SERVER_EMAIL` setting. - -To disable this behavior, just remove all entries from the :setting:`ADMINS` -setting. - -404 errors ----------- - -Django can also be configured to e-mail errors about broken links (404 "page -not found" errors). Django sends e-mails about 404 errors when: - - * :setting:`DEBUG` is ``False`` - - * :setting:`SEND_BROKEN_LINK_EMAILS` is ``True`` - - * Your :setting:`MIDDLEWARE_CLASSES` setting includes ``CommonMiddleware`` - (which it does by default). - -If those conditions are met, Django will e-mail the users listed in the -:setting:`MANAGERS` setting whenever your code raises a 404 and the request has -a referer. (It doesn't bother to e-mail for 404s that don't have a referer -- -those are usually just people typing in broken URLs or broken Web 'bots). - -You can tell Django to stop reporting particular 404s by tweaking the -:setting:`IGNORABLE_404_ENDS` and :setting:`IGNORABLE_404_STARTS` settings. Both -should be a tuple of strings. For example:: - - IGNORABLE_404_ENDS = ('.php', '.cgi') - IGNORABLE_404_STARTS = ('/phpmyadmin/',) - -In this example, a 404 to any URL ending with ``.php`` or ``.cgi`` will *not* be -reported. Neither will any URL starting with ``/phpmyadmin/``. - -The best way to disable this behavior is to set -:setting:`SEND_BROKEN_LINK_EMAILS` to ``False``. - -.. seealso:: - - You can also set up custom error reporting by writing a custom piece of - :ref:`exception middleware <exception-middleware>`. If you do write custom - error handling, it's a good idea to emulate Django's built-in error handling - and only report/log errors if :setting:`DEBUG` is ``False``. |