Thanks Tim, let me make sure I understand the current functionality:

- django.request is the logger for views (broadly speaking)  any logging
"elsewhere" would go to logger "django" instead.
- django.request is set to propagate=False

- if DEBUG is False, an exception in a view would go to mail_admins, but
*not* to the console, because propagate=False
- if DEBUG is False a logging.info outside of django.request would end up
going nowhere anyway, because the console handler has require_debug_true

- if DEBUG is True, an exception in a view goes only into the rendered
debug HTML message
- if DEBUG is True, a logging.info in a view goes nowhere, because
propagate=False (a quick test confirms this, but i may have done it wrong?)
- if DEBUG is True, a logging.info outside of django.request would go to
the console

So I have two questions:

1/ what is the scope of django.request?  Am I right in thinking it's
"pretty much everything you normally do with django" because it's "any code
that's invoked while handling a wsgi request" - so, in normal use,
everything in views.py, forms.py, models.py etc....  the only obvious way i
can think of not going through a request would be a management command?

2/ wouldn't it be better if, when DEBUG=True, more logging stuff ended up
in the console?  logging for management commands going to stderr by default
is great, but wouldn't it be cool if logging.info and logging.exception in
a view also went to stderr?

Happy to update the docs if i can get answers up to 1/ at least :)


On 1 January 2014 20:46, Tim Graham <timogra...@gmail.com> wrote:

> I believe tracebacks are handled by the 'django.request' logger, not the
> 'django' logger.
>
> You may find the commit that added that documentation and the related
> ticket helpful:
> https://github.com/django/django/commit/f0f327bb
> https://code.djangoproject.com/ticket/18993
>
> Documentation improvements would be welcome if you feel they are
> appropriate.
>
>
> On Saturday, December 28, 2013 8:11:00 AM UTC-5, Harry Percival wrote:
>
>>  The docs say:
>>
>>
>> *"All messages reaching the django catch-all logger when DEBUG
>> <https://docs.djangoproject.com/en/1.6/ref/settings/#std:setting-DEBUG> is
>> True are sent to the console. They are simply discarded (sent to
>> NullHandler) when DEBUG
>> <https://docs.djangoproject.com/en/1.6/ref/settings/#std:setting-DEBUG> is
>> False."*
>> https://docs.djangoproject.com/en/1.6/topics/logging/#
>> django-s-default-logging-configuration
>>
>> From reading that, I would (naively?) expect to see tracebacks in the
>> terminal I'm running manage.py runserver, if any of my views raise an
>> exception for example. I don't see any, however.
>>
>> Is this because the exception *is* caught, in that it gets intercepted
>> and turned into the nice django debug page?  Am i misinterpreting the
>> docs?  If so, would it be worth adding a couple of words of clarification
>> in case anyone else might misread it like me?  Assuming anyone is that
>> silly?
>>
>> Of course, I would rather prefer it if exception tracebacks *did* go to
>> the console by default, as well as to mail_admins and/or to a nice django
>> debug page.  But maybe that's just me.
>>
>> hp
>>
>> PS minimal repro:
>>
>> django-admin.py startproject myproj
>> python manage.py startapp myapp
>>
>>
>>
>> *urls.py:*
>> from django.conf.urls import patterns, include, url
>> urlpatterns = patterns('',
>>     # Examples:
>>     url(r'^$', 'myapp.views.home', name='home'),
>> )
>>
>>
>> *myapp/views.py:*
>> def home(request):
>>     raise Exception('arg')
>>
>> PPS apologies for x-post from django-users
>>
>>  --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Django users" group.
>> To unsubscribe from this topic, visit https://groups.google.com/d/
>> topic/django-users/tCw4bqw2tsI/unsubscribe.
>>  To unsubscribe from this group and all its topics, send an email to
>> django-users...@googlegroups.com.
>> To post to this group, send email to django...@googlegroups.com.
>>
>> Visit this group at http://groups.google.com/group/django-users.
>> To view this discussion on the web visit https://groups.google.com/d/
>> msgid/django-users/60d3c4c6-22f8-4de6-a376-6230c33ad0a9%
>> 40googlegroups.com.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>> --
>> ------------------------------
>> Harry J.W. Percival
>> ------------------------------
>> Twitter: @hjwp
>> Mobile:  +44 (0) 78877 02511
>> Skype:         harry.percival
>>
>


-- 
------------------------------
Harry J.W. Percival
------------------------------
Twitter: @hjwp
Mobile:  +44 (0) 78877 02511
Skype:         harry.percival

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-developers+unsubscr...@googlegroups.com.
To post to this group, send email to django-developers@googlegroups.com.
Visit this group at http://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/CACFvh9-7AcxSckFL_%3DC2uxyT-w87sQezTCXXeFAseF45Z7-xFA%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to