如何防止 python 服务器写入终端窗口?

F4T*_*ado 2 python logging webserver

我需要运行一个 Python Web 服务器,同时仍然从用户那里获取输入,但是当有人访问该网站时,记录到终端窗口的信息与输入位于同一行,使其看起来像这样:在此输入图像描述

我已经尝试将服务器的线程设置为守护程序模式,我已经尝试过logging.getLogger("socketserver").setLevel(logging.CRITICAL),我已经尝试过logger.propagation = False,并且logger.disable = True

这是我的服务器代码:

os.chdir("docs")
port = 8980
Handler = http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer(("", port), Handler) as httpd:
   httpd.serve_forever()
Run Code Online (Sandbox Code Playgroud)

cod*_*ody 6

子类化SimpleHTTPRequestHandler并重写该log_message方法以不执行任何操作:

class QuietHandler(http.server.SimpleHTTPRequestHandler):
    def log_message(self, format, *args):
        pass


with socketserver.TCPServer(("", 8980), QuietHandler) as httpd:
    httpd.serve_forever()
Run Code Online (Sandbox Code Playgroud)