python - 如何避免 http.server 的控制台日志记录
问题描述
我http.server
在我的代码中运行以加载本地 html,但我不希望服务器在每次发出请求时都登录控制台。
我查看了这篇文章: 如何使 HTTPServer 和 BasicHTTPRequestHandler 的 stderr 输出静默/安静?
并尝试了它,但它返回一个错误:missing 3 required positional arguments
class main()
def openHttpServer(self):
port = 8000
Handler = http.server.SimpleHTTPRequestHandler
self.httpd = socketserver.TCPServer(("", port), Handler)
self.httpd.serve_forever()
我希望它可以正常工作,但没有SimpleHTTPRequestHandler
登录控制台。
解决方案
我按照几个帖子中的建议通过子类修复它
所以,如果我现在使用它http.server.SimpleHTTPRequestHandler
作为Handler
子类在这里传递:
class quietServer(http.server.SimpleHTTPRequestHandler):
log_message
只需为with编写函数,pass
这样它就不会返回登录请求。
def log_message(self, format, *args):
pass
所以整个代码是这样的:
import http.server
import socketserver
PORT = 8080
class quietServer(http.server.SimpleHTTPRequestHandler):
def log_message(self, format, *args):
pass
with socketserver.TCPServer(("", PORT), quietServer) as httpd:
httpd.serve_forever()
推荐阅读
- github - 无法打开与您的身份验证代理的连接,ubuntu 上的 ssh
- django - Django Rest Framework:在 URL 中使用带有主键的 create
- mule - 在将响应属性发送到客户端应用程序之前,如何在响应属性中注入自定义标头?
- javascript - 正则表达式严格测试
- node.js - 如何使用nodejs中的工作线程在mongoDB中插入新数据
- javascript - 身体上的 mousemove 停止 childs 上的 mouseenter
- scala - 在 scala 2.13 中,为什么伴生对象的隐式范围有时可能会错位?如何纠正它?
- sqlalchemy - SqlAlchemy 声明式架构支持基类和子类的查询?
- flutter - 如何在颤动的输入字段中构建此交换按钮
- swiftui - 使用委托调用另一个视图