19

当我追加时, Django的runserver命令不输出堆栈跟踪--traceback --verbosity 2

➫ python manage.py runserver --traceback --verbosity 2
Validating models...

0 errors found
July 24, 2013 - 11:45:12
Django version 1.5.1, using settings 'base.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[24/Jul/2013 11:45:27] "POST /login/get_associations/ HTTP/1.0" 500 13220

是否有其他命令行开关或日志记录配置我可以添加以runserver在存在时打印堆栈跟踪500

4

1 回答 1

31

同意这很方便,特别是对于以 MVVM 为中心的应用程序开发(例如 Angular/Ember 前端)。当其他人测试前端时,这也很有帮助。

正如您所提到的,这不是由DEBUG=True. 您可以在运行时./manage.py runserver通过将以下内容添加到settings.py文件来添加堆栈跟踪:

LOGGING = {
    'version': 1,
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
        },
    },
    'loggers': {
        'django.request': {
            'handlers': ['console'],
            'propagate': True,
            'level': 'DEBUG',
        },
    },
}

此语法来自 Django 文档配置日志记录,可以进一步修改以增加或减少控制台日志记录的数量。

另请注意,5XX响应作为 ERROR 消息引发,4XX响应作为 WARNING 消息引发。

于 2014-05-22T22:46:32.357 回答