On Mon, Jun 13, 2011 at 9:53 PM, Vinay Sajip <vinay_sa...@yahoo.co.uk> wrote:
> On Jun 10, 2:05 pm, Matt Bennett <m...@bennett.name> wrote:
>
>> Is there a reason the call to logger.error can't come before we return
>> the technical_500_response when DEBUG=True? It seems to me that the
>> debug level should be checked in each individual handler, rather than
>> determining whether the error is passed to the logger at all.
>
> Aren't these two separate things? It makes sense to have the logging
> of errors occur in all code paths, but that isn't connected with
> levels on handlers. The first requires the logging call to be added to
> the code, whereas levels on handlers can be configured to be as
> verbose (or not) as you like, independently of logging calls in the
> code.
>

I think we're saying the same thing - my point is that the logging of
errors should occur in call code paths. Currently, an unhandled view
error is *not* logged if settings.DEBUG is True. To be clear, this has
nothing to do with the log levels on the handlers.

I've attached a patch which modifies
django.core.handlers.base.handle_uncaught_exception to log the error,
and stops AdminEmailHandler sending email if settings.DEBUG is True.
Hopefully this makes it clear what I was proposing above.

Curiously, the modification to AdminEmailHandler causes several tests
in regressiontests.views to fail. The tests that fail are trying to
validate that the contents of emails sent conform to the various
configured settings, and they expect email to be sent even if
settings.DEBUG is True - which isn't what happens when django
processes a real view.

For my patch to pass, I could simply drop the modification to
AdminEmailHandler, or update the tests so that email is not expected
if settings.DEBUG is True (which arguably should be changed anyway).

Matt.




> You received this message because you are subscribed to the Google Groups 
> "Django developers" group.
> To post to this group, send email to django-developers@googlegroups.com.
> To unsubscribe from this group, send email to 
> django-developers+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/django-developers?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-developers@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.

Attachment: debug-logging.diff
Description: Binary data

Reply via email to