So, when playing with the development I can just set
DEBUG = False, Django will automatically mail a full traceback of any error to each person listed in the
ADMINS setting, which gets you notifications pretty much for free. If you'd like more fine-grained control, you can write and add to your settings a middleware class which defines a method named
process_exception(), which will have access to the exception that was raised:
process_exception() method can then perform whatever type of logging you'd like: writing to console, writing to a file, etc., etc.
Edit: though it's a bit less useful, you can also listen for the
got_request_exception signal, which will be sent whenever an exception is encountered during request processing:
This does not give you access to the exception object, however, so the middleware method is much easier to work with.