静音SimpleXMLRPCServer的输出

4 投票
1 回答
1829 浏览
提问于 2025-04-15 20:15

我正在使用标准库中的SimpleXMLRPCServer来运行一个xml-rpc服务器。

我的代码大概是这样的:

import SimpleXMLRPCServer
import socket

class RemoteStarter:
    def start(self):
        return 'foo'

rs = RemoteStarter()
host = socket.gethostbyaddr(socket.gethostname())[0]
port = 9000
server = SimpleXMLRPCServer.SimpleXMLRPCServer((host, port))
server.register_instance(rs)
server.serve_forever()

每次远程调用'开始'方法时,服务器都会在控制台打印一行访问记录,像这样:

<server_name> - - [10/Mar/2010 13:06:20] "POST /RPC2 HTTP/1.0" 200 -

我找不到办法让它不打印这些访问记录到标准输出。

有人知道怎么做吗?

1 个回答

9

答案是:

在创建SimpleXMLRPCServer的时候,传入 logRequests=False 这个参数:

server = SimpleXMLRPCServer.SimpleXMLRPCServer((host, port), logRequests=False)

撰写回答