django runserver的这个特定日志输出来自哪里

时间:2013-09-05 10:43:31

标签: python django logging

我正在学习如何登录python,所以我试图找到源代码中的哪个部分是在获得此特定输出时格式化该行的部分:"GET /dashboard/ HTTP/1.1" 200 249176?另外,249176是什么意思?

我没有问题,这个问题是为了满足我的好奇心。

我真的在寻找这个logrecord的格式化程序。我也没有看到它来自哪个loghandler(也许这根本不是来自日志记录模块,它只是一个打印命令)。我搜索了源代码,无法找到它的来源,并希望有一个链接到源。

以下是我运行代码时会发生的事情。

September 05, 2013 - 05:38:50
Django version 1.5.1, using settings 'dapi.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[05/Sep/2013 05:38:57] "GET /dashboard/ HTTP/1.1" 200 249176
[05/Sep/2013 05:38:58] "GET /static/plugins/uniform/css/uniform.default.css HTTP/1.1" 304 0
[05/Sep/2013 05:38:58] "GET /static/plugins/bootstrap-daterangepicker/daterangepicker.css HTTP/1.1" 304 0

1 个答案:

答案 0 :(得分:4)

此数字是响应内容长度,换句话说:发送的字节数。

此输出主要来自wsgirefsimple_server(它基于BaseHTTPServer)django内部使用(source)。

log_request()函数实际上记录了代码和内容大小:

  

log_request([code [,size]])

     

记录已接受(成功)的请求。   代码应指定与之关联的数字HTTP代码   响应。如果响应的大小可用,则应该是   作为大小参数传递。

如果您有兴趣,请查看BaseHTTPServer pypy实现:https://bitbucket.org/pypy/pypy/src/9d88b4875d6e/lib-python/2.7/BaseHTTPServer.py

另见: