将BaseHTTPServer stdout重定向到日志记录

时间:2014-05-03 00:52:32

标签: python logging

我使用BaseHTTPServer编写了一个快速的Web服务器,它工作得很好,所以现在我正在尝试实现日志记录,我注意到,嘿,似乎BaseHTTPServer已经有一些日志信息,它会向stdout吐出,是吗实现我的日志记录的方法也包括这个标准输出。

即。记录日志记录来自stdout的所有信息。

注意:我没有明确地向控制台窗口打印任何内容,当发出GET请求时,BaseHTTPServer会将此打印到控制台。

示例:

127.0.0.1 - - [02/May/2014 20:51:52] "GET /postTest.html HTTP/1.1" 200 -
127.0.0.1 - - [02/May/2014 20:51:52] "GET /assets/foundation.js HTTP/1.1" 200 -
127.0.0.1 - - [02/May/2014 20:51:52] "GET /assets/bootstrap.css HTTP/1.1" 200 -
127.0.0.1 - - [02/May/2014 20:51:57] "GET /index.html HTTP/1.1" 200 -
127.0.0.1 - - [02/May/2014 20:51:57] "GET /assets/foundation.js HTTP/1.1" 200 -
127.0.0.1 - - [02/May/2014 20:51:57] "GET /assets/bootstrap.css HTTP/1.1" 200 -

1 个答案:

答案 0 :(得分:2)

根据BaseHTTPServer documentation,您可以覆盖log_message方法来执行此操作。默认情况下,它只是写入stderr,但您可以将其写入您的记录器(或者将其写入两者)。